Avatar billede thomas_regin Nybegynder
15. august 2001 - 09:45 Der er 3 kommentarer og
1 løsning

ASPupload - Check om fil eksisterer.

Hejsa!..

Jeg har lige et spørgsmål vedr. ASPupload.

På mit site har jeg mulighed for at uploade et billede og en smule tekst, som skal vises på forsiden. Mit problem er, at denne funktion virker perfekt, så længe at jeg rent faktisk uploader et billede. Når jeg efterlader billede-formularen tom, så fejler koden..

Findes der en metode i ASPupload, hvor jeg kan checke, om der reelt kommer en fil med over, når jeg submitter min formular??.. Jeg har prøvet med IF Upload.Form(\"picture\") <> \"\" then, men dette virker ikke!

Her kommer lidt af koden:

if Request.QueryString(\"retur\") = \"yes\" then
       
    set Upload = server.CreateObject(\"Persits.Upload.1\")
    Upload.OverwriteFiles = False
    Upload.SetMaxSize 204800
    strPath = server.MapPath(\"/_teasers/\")
   
       
for each file in Upload.files
    imgHeight = file.ImageHeight
    imgWidth = file.ImageWidth
   
        if imgHeight > \"95\" then
            Response.Write \"Billedet, som du har uploadet er for højt\"
            Exit for
        end if
        if imgWidth > \"120\" then
            Response.Write \"Billedet, som du har uploadet er for bredt\"
            Exit for
        end if

if upload.Form(\"Ukat\")=\"0\" then
        Response.Write \"<span class=MyError>\" & application(\"Sub_cat_err\") & \"</span><br><a href=java script:history.back()>Prøv igen</a>\"
        Response.End
  else
  if upload.Form(\"Fdate\") = \"\" then
        Response.Write \"<span class=MyError>\" & application(\"from_date_err\") & \"</span>\"
        Response.End
  else
  if upload.Form(\"Tdate\") = \"\" then
        Response.Write \"<span class=MyError>\" & application(\"to_date_err\") & \"</span>\"
        Response.End
  end if
  end if
  end if
 
  if forside=\"ja\" then
       
    else 
        if upload.Form(\"forfatter\")=\"\" then
            Response.Write \"<span class=MyError>\" & application(\"author_err\") & \"</span>\"
            Response.End
        end if
        if upload.Form(\"ann_descr\")=\"\" then
            Response.Write \"<span class=MyError>\" & application(\"resume_err\") & \"</span>\"
            Response.End
        end if
    end if
     
 
 
  dim tilbud, Myval
  strSql = \"\"
  strSql = strSql & \"SET NOCOUNT ON \"   
  strSql = strSql & \"INSERT INTO Artikel_info_tbl(Artikel_description, Artikel_Author,Artikel_belongTo,Artikel_format,Artikel_date_from, Artikel_date_to, costumer_idfk, Menu_idfk) \" 
  if forside=\"ja\" then
  strSql = strSql & \"VALUES(\'\',\"
  strSql = strSql & \"\'\',\"
  else
  strSql = strSql & \"VALUES(\'\" & str2DB(upload.Form(\"ann_descr\").value) & \"\',\"
  strSql = strSql & \"\'\" & str2DB(upload.Form(\"forfatter\").value) & \"\',\"
  end if
  strSql = strSql & \"\'\" & Request.QueryString(\"side\") & \"\',\"
    if format=\"ja\" then
  strSql = strSql & \"\'\" & upload.Form(\"selFormat\").value & \"\',\"
  else
  strSql = strSql & \"\'\',\"
  end if
  strSql = strSql & \"\'\" & Formatdate(upload.Form(\"fdate\").value,\"mdy\") & \"\',\"
  strSql = strSql & \"\'\" & Formatdate(upload.Form(\"tdate\").value,\"mdy\") & \"\',\"         
  strSql = strSql & \"\'\" & Request.QueryString(\"kunde_id\") & \"\',\"
  strSql = strSql & \"\'\" & upload.Form(\"ukat\").value & \"\')\"
  strSql = strSql & \"SELECT @@IDENTITY\"         
\' Response.Write strSql 
  Set insVal = dbconn.Execute(strSQL)
  Response.Write \"Så kom vi herned og insVal = \" & insval(0)
  Response.End

            if file.path <> \"\" then
            if lcase(right(file.path,4)) = \".jpg\" or lcase(right(file.Path,4)) = \".gif\" or lcase(right(file.Path,4)) = \".bmp\" or lcase(right(file.Path,4)) = \".png\" or lcase(right(file.Path,4)) = \".swf\" then
                temp=file.path
                temparr=split(temp,\"\\\")
                path = strPath & \"\\\" & temparr(5)
                \'Response.Write path
                \'Response.End
                           
                strSQL = \"INSERT INTO TEASER_PIC(TEASER_URL, TEASER_PIC, TEASER_ART, TEASER_CUS_ID, TEASER_VAR) VALUES (\'\" & path & \"\', \'\" & file.Path & \"\', \'\" & insval(0) & \"\', \" & session(\"userID\") & \", \'Navigation\')\"
                \'Response.Write strSQL
                dbconn.execute(strSQL)
                Upload.Save(strPath)
            else
                Response.Write \"Du forsøgte at Uploade en \" & right(file.path,4) & \"-fil, som desværre ikke understøttes af WPS Administrationen.!<br><br><b>WPS Banner Modulet understøtter:</b><br><br>jpg<br>gif<br>png<br>bmp<br>Flash<br><br><a class=contentlink href=java script:history.back();>Prøv igen</a>\"
        end if
        end if
Next
   
\'  Response.End
\'end if
  if forside=\"ja\" then
        Response.Redirect (\"step3.asp?side=\" & Request.QueryString(\"side\") & \"&value=1&Artikel_id=\" & insval(0) & \"&Kunde_id=\" & Request.QueryString(\"Kunde_id\") & \"\")
        Response.End
  else
        Response.Redirect (\"step3.asp?side=\" & Request.QueryString(\"side\") & \"&value=1&Artikel_id=\" & insval(0) & \"&Kunde_id=\" & Request.QueryString(\"Kunde_id\") & \"\")
        Response.End
    end if
end if

Hvis ikke jeg smækker et billede på, så sker der simpelthen det, at den springer det meste af koden over, inklusive alle SQL-statements og hopper ned på én af de sidste linier (response.redirect) uden at afvikle det ovenstående. Dette resulterer i en fejl, og var bestemt ikke sådan at jeg havde tænkt mig, at det skulle være.

Håber at i kan hjælpe mig!

Med venlig hilsen,

Thomas Regin.
Avatar billede jens Nybegynder
15. august 2001 - 10:00 #1
Kan du ikke bare lave noget clientside tjek ala:

<script>
function checkForm(){
  if( document.form.fileupload.value == \"\" ){
    alert(\"Husk filen du\");
    return false;
  }
  return true;
}
</script>

<FORM name=\"form\" ENCTYPE=\"multipart/form-data\" ACTION=\"ver.asp\" METHOD=\"POST\" onSubmit=\"java script:return checkForm();\">
<INPUT CLASS=\"text\" NAME=\"fileupload\" TYPE=\"file\" size=\"30\"><BR>
<INPUT CLASS=\"submit\" NAME=\"Action\" TYPE=\"submit\" VALUE=\"Send\">
</FORM>
Avatar billede thomas_regin Nybegynder
15. august 2001 - 10:04 #2
Hejsa Jens!..

Jo, snildt!!.. Problemet er bare, at det skal være valgfrit, om man vil have et billede med! :-)

Tak for svaret!

Thomas.
Avatar billede webbe Nybegynder
15. august 2001 - 13:24 #3
Det er let nok:

Jeg bruger følgende script:

Set Upload = Server.CreateObject(\"Persits.Upload.1\")
Upload.OverWriteFiles = False
Upload.Save Server.MapPath(\"./../images/quiz\") & \"\\\"

Pic = Upload.Form(\"pic\")

Set Pic = Upload.Files(\"pic\")
    If Pic is nothing then
        Pic1 = \"\"
    Else
        Pic1 = Pic.ExtractFileName
    End if
   
If (rs.BOF OR rs.EOF) Then
    old_id = \"0\"
Else
    old_id = rs(\"Id\")
End if

new_id = old_id + 1

sql = \"INSERT INTO Quiz (Id, Edbnr, Dato, Overskrift, Kategori, Remarks, Question, Option1, Option2, Option3, Answer, Pic, On_line) VALUES (\"&\"\'\"&new_id&\"\', \'\"&Upload.Form(\"edbnr\")&\"\', \'\"&date&\"\', \'\"&Upload.Form(\"title\")&\"\', \'\"&Upload.Form(\"kategori\")&\"\', \'\"&Upload.Form(\"remarks\")&\"\', \'\"&Upload.Form(\"question\")&\"\', \'\"&Upload.Form(\"option1\")&\"\', \'\"&Upload.Form(\"option2\")&\"\', \'\"&Upload.Form(\"option3\")&\"\', \'\"&Upload.Form(\"answer\")&\"\', \'\"&Pic1&\"\', \'\"&Upload.Form(\"online\")&\"\')\"
Connect.Execute(sql)

På den måde er det valgfrit om der skal være billede eller ej - hvis fx. filen billede.jpg allerede eksisterer omdøbes det nye billede automatisk til billede(1).jpg!
Dette får også virkning i din DB! ;o)
Avatar billede thomas_regin Nybegynder
16. august 2001 - 00:29 #4
Selvfølgelig!!!.. Tak for hjælpen!!.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester