Avatar billede rebel_penguin Nybegynder
28. november 2003 - 14:58 Der er 12 kommentarer og
1 løsning

Upload af fil, Uploader.Files

Hej ekspertx

    'write action to user
    'not included due to the possibility off one user presing update, thereby registring twice
    ' Loop through the uploaded files
    For Each File In Uploader.Files.Items
    ' Output the file details to the browser
        Response.Write "File Uploaded: " & File.FileName & "<br>"
        Response.Write "Size: " & File.FileSize & " bytes<br>"
        Response.Write "Type: " & File.ContentType & "<br><br>"
    Next

Har ovenstående kode som jeg skal bruge til at håndtere noget filhåndtering.

Problemet er at der er 2 upload felter, og de skal kunne indsættes i hvert sit felt i databasen.
Derfor vil jeg gerne kunne skilne mellem felterne -
har prøvet med
RS("FileNameExpert1")=File1.FileName
File1.SaveToDatabase RS("FileExpert1")
RS("FileNameExpert2")=File2.FileName
File2.SaveToDatabase RS("FileExpert2")

men her er der noget galt.
Hvordan pinpointer jeg at jeg gerne vil bruge File1 eller File2 i Uploader.Files?

håber nogle har et hurtigt svar, da jeg har en deadline og nogle kunder der river hovedet af mig hvis det ikke kører snart!!!!

mvh rebel_penguin
Avatar billede rebel_penguin Nybegynder
28. november 2003 - 15:52 #1
Øger lige points - forhåbentlige er der nogle derude der kender løsningen?
Avatar billede thefatman Nybegynder
28. november 2003 - 18:46 #2
Det må jo være noget ala:
<%
    For Each File In Uploader.Files.Items
    i = 1
    ' Output the file details to the browser
        Response.Write "File Uploaded: " & File.FileName & "<br>"
        Response.Write "Size: " & File.FileSize & " bytes<br>"
        Response.Write "Type: " & File.ContentType & "<br><br>"
   
    ' Din db code her ...
        rs.addnew
        RS("FileNameExpert" & i ) = File.FileName
        rs.update
        File.SaveToDatabase RS("FileExpert" & i)
    i = i + 1
    Next
%>


Den starter med at kører den igennem første gang, så kigger den i første file, og skriver til felterne: FileNameExpert1 samt FileExpert1.
Derefter er det FileExpert2,FileNameExpert2 -
Derefter er det FileExpert3,FileNameExpert3 -

osv.
Avatar billede rebel_penguin Nybegynder
28. november 2003 - 18:49 #3
Ok men hvad hvis der ikke er noget i FILE1, så bliver 'i' jo kun 1 og indsætter i FILE1, altså hvis der tilgengæld er en fil i FILE2, eller har jeg misforstået det?

Tak for svar - håber du har et hurtigt liggende inde igen:)
vh rebel_penguin
Avatar billede thefatman Nybegynder
28. november 2003 - 19:05 #4
Så må det jo være noget ala:
<%
    For Each File In Uploader.Files.Items
    i = 1 
    ' Din db code her ...
    If not File.FileName = "" Then
        rs.addnew
        RS("FileNameExpert" & i ) = File.FileName
        rs.update
        File.SaveToDatabase RS("FileExpert" & i)
    ' Output the file details to the browser
        Response.Write "File Uploaded: " & File.FileName & "<br>"
        Response.Write "Size: " & File.FileSize & " bytes<br>"
        Response.Write "Type: " & File.ContentType & "<br><br>"       
    End if   
    i = i + 1
    Next
%>

Hvis File 1 er tom, så springer den over.
Avatar billede rebel_penguin Nybegynder
28. november 2003 - 22:00 #5
Hej igen thefatman

FILE1 eksisterer slet ikke i Uploader.Files hvis den ikke indeholder en fil, hvilket skaber problemer da jeg så ikke ved om det er felt 1 eller 2 filen kommer fra.

Løsningen er nok at kunne pinpointe formen, altså ikke for each File in Uploader.Files men istedet kunne deklarere noget a'la Uploader.Files.FILE1 - har dog prøvet en del med det men ingen løsning endnu.

Har du ellers andre forslag, hører jeg meget gerne fra dig.

mvh rebel_penguin
Avatar billede thefatman Nybegynder
28. november 2003 - 22:16 #6
Hej du

Ja, det kan jeg da godt se.

Så må vi jo prøve:
<%
    ' Din db code her ...
   
    If Uploader.Files.Count = 0 Then
          Response.Write "File(s) not uploaded."
    Else
    ' Add til DB
        rs.addnew
        RS("FileNameExpert1") = Uploader.Files("file1").FileName
        RS("FileNameExpert2") = Uploader.Files("file2").FileName
        rs.update
    ' Upload til DB
        Uploader.Files("file1").FileName.SaveToDatabase RS("FileExpert1")
        Uploader.Files("file2").FileName.SaveToDatabase RS("FileExpert2")
    ' Output the file details to the browser
        Response.Write "File 1 - Uploaded: " & Uploader.Files("file1").FileName & "<br>"
        Response.Write "File 1 - Size : " & Uploader.Files("file1").FileSize & " bytes<br>"
        Response.Write "File 1 - Type: " & Uploader.Files("file1").ContentType & "<br><br>"       
        Response.Write "File 2 - Uploaded: " & Uploader.Files("file2").FileName & "<br>"
        Response.Write "File 2 - Size : " & Uploader.Files("file2").FileSize & " bytes<br>"
        Response.Write "File 2 - Type: " & Uploader.Files("file2").ContentType & "<br><br>"       
    End if   
%>
Avatar billede rebel_penguin Nybegynder
28. november 2003 - 23:14 #7
Hej igen Jake

Takker meget for din hjælp - desværre virker det stadig ikke ( det bliver en lang nat). Jeg smider koden her for at se om det kan hjælpe, jeg får fejlmedellelsen OBJECT required.

    RS.AddNew ' create a new record
        RS("Title")=Uploader.Form("Title")
        RS("FirstName")=Uploader.Form("FirstName")
        RS("LastName")=Uploader.Form("LastName")       
        RS("City")=Uploader.Form("City")
        RS("PostalCode")=Uploader.Form("PostalCode")
        RS("Country")=Uploader.Form("Country")
        RS("Address")=Uploader.Form("Address")
        RS("Email")=Uploader.Form("Email")
        RS("Phone")=Uploader.Form("Phone")
        RS("Mobile")=Uploader.Form("Mobile")
        RS("Nationality")=Uploader.Form("Nationality")
        RS("Reference")=Uploader.Form("Reference")
        RS("Birthdate")=Uploader.Form("Birthdate")
        RS("Password")=Uploader.Form("Password")
        RS("CV_english")=Uploader.Form("CV_english")
        RS("CV_polish")=Uploader.Form("CV_polish")
        RS("Price")=Uploader.Form("Price")

        RS("FileNameExpert1") = Uploader.Files("FILE1").FileName
            RS("FileNameExpert2") = Uploader.Files("FILE2").FileName

        Uploader.Files("FILE1").File.SaveToDatabase RS("FileExpert1")
            Uploader.Files("FILE2").File.SaveToDatabase RS("FileExpert2")

    ' Commit the changes and close
    RS.Update
    RS.Close

    if Err <> 0 then
        Response.write "Fejl: " & Err.Description
            objConn.RollbackTrans    'Denne linies kode laver en "RollBack" på alle transaktioner udført på vores ADO Connection
            Response.End
        'Response.Redirect (sHome & "error_page?message=" & chr(34) & "expert" & chr(34) & ".asp")
    end if
Avatar billede rebel_penguin Nybegynder
28. november 2003 - 23:25 #8
og til tider OBject is not a collection, alt efter hvad jeg prøver når jeg skal rette det
Avatar billede thefatman Nybegynder
29. november 2003 - 00:09 #9
Jamen.

Hvad bruger du af komponent for at uploade? eller benytter du dig af ADO 5 metoden?
Avatar billede rebel_penguin Nybegynder
29. november 2003 - 01:03 #10
jeg bruger Pure ASP File Upload, hentet fra http://www.asp101.com/articles/jacob/scriptupload.asp, det er altså uden komponent:(.
Systemet skal nemlig køre på en polsk server (hehe - utroligt nok) og det har været lidt svært at få oplyst hvad de har liggende af komponenter.

mvh rebel_penguin
Avatar billede rebel_penguin Nybegynder
29. november 2003 - 01:04 #11
Det er vel ADO 5 metoden ja.

Desværre kan server placeringen ikke ændres
Avatar billede rebel_penguin Nybegynder
29. november 2003 - 02:48 #12
Har endelig fået det til at virke med anden løsning:)

Smid et svar jake og vi deler i porten ( er 50 point ok ), for det slid du har lavet? Tak for hjælpen - ikke noget være end at sidde og kæmpe alene med sådan noget.

Mvh rebel_penguin
Avatar billede thefatman Nybegynder
29. november 2003 - 11:18 #13
Hej du

Ja, det var ADO5 metoden, som du kan se på den site så bruger de et eks:
<%
  Response.Write "File Name:" & MyUploader.Files("file1").FileName
  Response.Write "File Size:" & MyUploader.Files("file1").FileSize
  Response.Write "File Type:" & MyUploader.Files("file1").ContentType
%>

Derfor troede jeg man kunne gøre det samme :-) Men fuck det..
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