Avatar billede montago Praktikant
21. juli 2004 - 00:17 Der er 15 kommentarer og
1 løsning

upload fil med aspSmartUpload + gem data i database

hejsa... nogen der ved hvordan man gemmer data fra den Form man bruger til aspSmartUpload i database ??

jeg har indtil videre prøvet dette:

<%
Set Downloads = conn.execute("Select * from Downloads order by Type")
    Set MyID = conn.execute("Select * from Profiles where Username ='" & Session("MM_Username") & "'")

If Request.Form("Submit") <> "" then
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    mySmartUpload.AllowedFilesList = "zip,rar"
    mySmartUpload.DeniedFilesList = "asp,htm,html"
        strSQL = "Insert into Downloads "
        strSQL = strSQL & "([Type],[Uploader],[FileName],[Description])"
        strSQL = strSQL & " Values ('" & Request.Form("Select") & "',"
        strSQL = strSQL & Request.Form("ID") & ","
   
        FileName = Split(Request.Form("File"),"\")
   
        strSQL = strSQL & Request.Form("Uploader") & ",'" & FileName(Ubound(FileName)) & "',"
        strSQL = strSQL & "'" & Request.Form("Text") & "')"
   
        Conn.Execute(strSQL)
    mySmartUpload.Upload
    intCount = mySmartUpload.Save("Downloads")
   
    If Err Then
        Response.Write("<b>Wrong selection : </b>" & Err.description)
    Else
        Response.Redirect("Downloads.asp")
    End if
End if
%>

<form action="Downloads.asp" method="post" enctype="multipart/form-data" name="Form">
          <table width="600" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="150" align="center" valign="top"><strong>The File : </strong></td>
              <td width="450"><input name="File" type="file" size="50"></td>
            </tr>
            <tr>
              <td align="center" valign="top"><strong>Select Type : </strong></td>
              <td><select name="Select">
                <option value="1">Add-on Files</option>
                <option value="2">Custom Vinyls</option>
                <option value="3">Game-Programs</option>
                <option value="4">Save-Games</option>
                <option value="5">Updates</option>
              </select>
              <input type="hidden" name="Uploader" value="<%=MyID("ID")%>"></td>
            </tr>
            <tr>
              <td align="center" valign="top"><strong>Description : </strong></td>
              <td><textarea name="Text" cols="60" rows="4"></textarea></td>
            </tr>
            <tr>
              <td align="center">&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td align="right"><input type="submit" value="Upload the File"></td>
            </tr>
          </table>
       
        </form>
Avatar billede eagleeye Praktikant
21. juli 2004 - 20:59 #1
Når man bruger en upload komponent kan man ikke bruge request.form:
Request.Form("ID")

Men man skal skrive navnet på upload koponenten .form:
mySmartUpload.Form("ID")
Avatar billede montago Praktikant
22. juli 2004 - 03:12 #2
det forklare jo lidt...

jeg søgte på w3schools... men der står ikke meget om enctype="multipart/form-data" metoden...

prøver det lige af...
Avatar billede montago Praktikant
26. juli 2004 - 13:36 #3
dertil vil jeg gerne spørge om har gjort det rigtige med hensyn til at skaffe fil-navnet på den fil som skal uploades ??

FileName = Split(Request.Form("File"),"\")
Fil_navn = FileName(Ubound(FileName))
Avatar billede eagleeye Praktikant
26. juli 2004 - 13:45 #4
Ja, umiddelbart ville jeg lave koden sådan her, også for at undgå en forkert post i databasen:


If Request.Form("Submit") <> "" then
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    mySmartUpload.AllowedFilesList = "zip,rar"
    mySmartUpload.DeniedFilesList = "asp,htm,html"
    mySmartUpload.Upload
    intCount = mySmartUpload.Save("Downloads")
    filnavn = mySmartUpload.Files.Item(1).FileName
   
    If Err Then
        Response.Write("<b>Wrong selection : </b>" & Err.description)
    Else
        strSQL = "Insert into Downloads "
        strSQL = strSQL & "([Type],[Uploader],[FileName],[Description])"
        strSQL = strSQL & " Values ('" & mySmartUpload.Form("Select") & "',"
        strSQL = strSQL & mySmartUpload.Form("ID") & ","
   
        strSQL = strSQL & mySmartUpload.Form("Uploader") & ",'" & filnavn & "',"
        strSQL = strSQL & "'" & mySmartUpload.Form("Text") & "')"
   
        Conn.Execute(strSQL)

        Response.Redirect("Downloads.asp")
    End if
End if
Avatar billede montago Praktikant
26. juli 2004 - 13:50 #5
Hvorfor virker dette ikke '??? :-(


<%
If Request.Form("Submit") <> "" then
    On Error Resume Next
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    mySmartUpload.AllowedFilesList = "zip,rar"
    mySmartUpload.DeniedFilesList = "asp,htm,html"
        strSQL = "Insert into Downloads "
        strSQL = strSQL & "([Type],[Uploader],[FileName],[Description])"
        strSQL = strSQL & " Values ('" & mySmartUpload.Form("Select") & "',"
        strSQL = strSQL & mySmartUpload.Form("ID") & ","
   
        FileName = Split(mySmartUpload.Form("FILE1"),"\")
   
        strSQL = strSQL & mySmartUpload.Form("Uploader") & ",'" & FileName(Ubound(FileName)) & "',"
        strSQL = strSQL & "'" & mySmartUpload.Form("Text") & "')"
   
        Conn.Execute(strSQL)
    mySmartUpload.Upload
    intCount = mySmartUpload.Save("Downloads")
   
    If Err Then
        Response.Write("<b>Wrong selection : </b>" & Err.description)
    Else
        Response.Redirect("Downloads.asp")
    End if
End if
%>
<form method="post" action="Downloads.asp" enctype="multipart/form-data">
  <table width="600" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="150" align="center" valign="top"><strong>The File : </strong></td>
      <td width="450"><input type="FILE" name="FILE1" size="50"></td>
    </tr>
    <tr>
      <td align="center" valign="top"><strong>Select Type : </strong></td>
      <td><select name="Select">
        <option value="1">Add-on Files</option>
        <option value="2">Custom Vinyls</option>
        <option value="3">Game-Programs</option>
        <option value="4">Save-Games</option>
        <option value="5">Updates</option>
      </select>
      <input type="hidden" name="Uploader" value="<%=MyID("ID")%>"></td>
    </tr>
    <tr>
      <td align="center" valign="top"><strong>Description : </strong></td>
      <td><textarea name="Text" cols="60" rows="4"></textarea></td>
    </tr>
    <tr>
      <td align="center">&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td align="right"><input type="submit" value="Upload the File"></td>
    </tr>
  </table>
</form>
Avatar billede eagleeye Praktikant
26. juli 2004 - 13:52 #6
Fordi man skal kalde funktioen:

mySmartUpload.Upload


Før man kan bruge mySmartUpload.Form("xxx")
Avatar billede montago Praktikant
26. juli 2004 - 13:53 #7
ahh...
Avatar billede montago Praktikant
26. juli 2004 - 13:54 #8
men nu har jeg indsat det som du postede... men der kommer stadig ikke nogen nye posts i databasen - ej heller bliver der uploadet noget...
Avatar billede eagleeye Praktikant
26. juli 2004 - 13:56 #9
Når man tester kan det være en god ide at udkommentere linjen med On Error Resume Next, så man kan se hvilken fejl den melder:

'    On Error Resume Next
Avatar billede montago Praktikant
26. juli 2004 - 14:00 #10
yup.. har prøvet men der kommer ingen fejl...
Avatar billede eagleeye Praktikant
26. juli 2004 - 14:02 #11
Så prøv at tjekke du overhoved kommer ind i if sætningen:

If Request.Form("Submit") <> "" then


du kan evt. prøve at lave den om til:

If Request.Servervariables("REQUEST_METHOD")="POST" then
Avatar billede montago Praktikant
26. juli 2004 - 14:06 #12
sad lige og tænke det samme... idet jeg i response.redirect have testet med at skrive Response.Redirect("Downloads.asp?asdf")

hvilket først kunne ses på adressen da jeg indsatte det du lige kom med...

Den uploader nu... men der sker ikke noget med databasen....
Avatar billede eagleeye Praktikant
26. juli 2004 - 14:10 #13
Det lyder underligt, har ud udkommenteret det med On error resmune next?
Hvis ikke kommer der måske en database fejl, hvis du har udkommenteret forstår jeg ikke hvorfor den ikke gemmer.
Avatar billede montago Praktikant
26. juli 2004 - 14:23 #14
må være en fejl jeg har lavet, endten i databasen eller måden jeg poster Tal i Tal-felter ?

har lige prøvet at lave Tal-Felter om til text og poste Tal som ('text')
Avatar billede montago Praktikant
26. juli 2004 - 14:34 #15
ahh - fik det til at virke... nogle fejl med hensyn til hidden's felt-navn og hvad jeg prøvede at hente...

al funker nu..

skal du ha nogle point eaglyEye ?
Avatar billede eagleeye Praktikant
26. juli 2004 - 15:26 #16
Ok :)
Så der et svar fra mig
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