Avatar billede excession Nybegynder
21. september 2002 - 20:07 Der er 7 kommentarer og
2 løsninger

kan jeg hente alle..

.. items fra Upload.Form og tilføj den til db også?

jeg henter x antal filer sammen med en beskrivelse (descr) men jeg har ikke kunnet få den til at tilføje beskrivelse sammen med dens respektive fil

indtil videre har jeg bare sat den til at indsætte Upload.Form("descr1") ved dem alle.

Hvordan får jeg tilføjet items (beskrivelser)i denne Insert?


<%

Set Upload = Server.CreateObject("Persits.Upload")

' Limit file size to 50000 bytes, throw an exception if file is larger
Upload.SetMaxSize 50000, True

' Intercept all exceptions to display user-friendly error
On Error Resume Next

    ' Capture files
    Upload.Save


subdir = Upload.Form("ID")
filepath = "E:\Inetpub\wwwroot\Upload_test\hd\" & subdir


Upload.CreateDirectory filepath, False


For Each File in Upload.Files
    ' Obtain file object

  If File.ImageType = "UNKNOWN" Then
      Response.Write "This is not an image."
      Upload.RemoveDirectory filepath
      Response.End
  End If

    File.SaveAs filepath & "\" & File.FileName

    descr = Replace(Upload.Form("descr1"), "'", "''")

    If Not File Is Nothing Then

        ' Build ODBC connection string
        Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("upload.mdb")

            uploaddate = FormatDateTime(Now, 2)
            uploadtid = FormatDateTime(Now, 3)

                ' Build SQL INSERT statement
                SQL = "INSERT INTO billeder(filename, filepath, filesize, width, height, descr, filetype, uploaddate, uploadtid) VALUES("
                SQL = SQL & "'" & File.Filename & "', "
                SQL = SQL & "'" & File.Path & "', "
                SQL = SQL & "'" & File.Size & "', "
                SQL = SQL & "'" & File.ImageWidth & "', "
                SQL = SQL & "'" & File.ImageHeight & "', "
                SQL = SQL & "'" & descr & "', "
                SQL = SQL & "'" & File.ImageType & "', "
                SQL = SQL & "#" & uploaddate & "#, "
                SQL = SQL & "#" & uploadtid & "#"
                SQL = SQL & ");"

            ' Save to database
            File.ToDatabase Connect, SQL

            Response.Write "File(s) saved."

    Else

            ' 8 is the number of "File too large" exception
            If Err.Number = 8 Then
                  Response.Write "Your file is too large. Please try again."
            Else
                  If Err <> 0 Then
                      Response.Write "An error occurred: " & Err.Description
                  Else
                      Response.Write "Success!"
                  End If
            End If

    End If

Next

%>

-- xs
Avatar billede eagleeye Praktikant
21. september 2002 - 20:13 #1
du skal eksvis havde en kolonne i din database som hedder beskrivelse, og et form felt som hedder det samme:


SQL = "INSERT INTO billeder(filename, filepath, filesize, width, height, descr, filetype, uploaddate, uploadtid, beskrivelse) VALUES("
                SQL = SQL & "'" & File.Filename & "', "
                SQL = SQL & "'" & File.Path & "', "
                SQL = SQL & "'" & File.Size & "', "
                SQL = SQL & "'" & File.ImageWidth & "', "
                SQL = SQL & "'" & File.ImageHeight & "', "
                SQL = SQL & "'" & descr & "', "
                SQL = SQL & "'" & File.ImageType & "', "
                SQL = SQL & "#" & uploaddate & "#, "
                SQL = SQL & "#" & uploadtid & "#, "
                SQL = SQL & "'" & Replace(Upload.Form("beskrivelse"),"'","''") & "'"
                SQL = SQL & ");"
Avatar billede excession Nybegynder
21. september 2002 - 20:17 #2
jep, jeg har en kolonne der hedder descr og flere formfelter der descr1, descr2, descr3, osv.

for hver fil der uploades hører der en descrx felt med

det er med de descr felter der er problemer med
Avatar billede excession Nybegynder
21. september 2002 - 20:19 #3
jeg viser lige lidt af siden med formularer:

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploadcode3.asp">
      ID = <INPUT TYPE=TEXT NAME="ID" VALUE="<%=request.querystring("id")%>"><BR>
      <br>
      <br>

      File 1:<INPUT TYPE=FILE NAME="FILE1"><br>
      Description 1:<INPUT TYPE=TEXT NAME="DESCR1"><BR>
      <br>
      File 2:<INPUT TYPE=FILE NAME="FILE2"><br>
      Description 2:<INPUT TYPE=TEXT NAME="DESCR2"><BR>
      <br>
      File 3:<INPUT TYPE=FILE NAME="FILE3"><br>
      Description 3:<INPUT TYPE=TEXT NAME="DESCR3"><BR>
      <br>
      File 4:<INPUT TYPE=FILE NAME="FILE4"><br>
      Description 4:<INPUT TYPE=TEXT NAME="DESCR4"><BR>
      <br>
osv osv.
Avatar billede eagleeye Praktikant
21. september 2002 - 20:26 #4
arh.... hvad så med at lave en tæller som starter med en

descrNo = 0
For Each File in Upload.Files
  descrNo = descrNo + 1
  ...KODE...


Denne:
descr = Replace(Upload.Form("descr1"), "'", "''")

rettes til:
descr = Replace(Upload.Form("descr" & descrNo), "'", "''")
Avatar billede excession Nybegynder
22. september 2002 - 00:27 #5
ja jeg synes jeg har prøvet det, men den opførste sig mærkeligt

tror det var fordi, jeg har den her: ID = <INPUT TYPE=TEXT NAME="ID" VALUE="<%=request.querystring("id")%>">

jeg har nemlig en side hvor jeg vælger hvilken id, der skal have filerne tilknyttet.  ved at trykke på f.eks. ID 1 sender jeg id'et over til formular-siden med en querystring

så viser jeg hvilken id der skal bruges ved at sætte det ind i en textfield, fordi jeg derefter bare kan submitte formularen og sende den over til uploadkode-siden

jeg bruger ikke id'et endnu, fordi jeg indtil nu bare har leget lidt med det, men den skal bruges senere hen..
Avatar billede excession Nybegynder
22. september 2002 - 00:35 #6
det kan hellere ikke være

For Each File in ...

men

For Each Item in ...
Avatar billede excession Nybegynder
22. september 2002 - 00:43 #7
det er skide irriterende.. jeg kan ikke finde et eksemple på det i AspUPLOAD dokumentationen
Avatar billede excession Nybegynder
22. september 2002 - 01:04 #8
nå.. jeg har løst det
descrNo = 2
descr = Replace(Upload.Form(descrNo), "'", "''")

insert...

descrNo = descrNo + 1
Avatar billede excession Nybegynder
22. september 2002 - 01:05 #9
skal vi sige du får halvdelen
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