Avatar billede lbos Nybegynder
13. april 2003 - 07:46 Der er 6 kommentarer og
1 løsning

Uploade 4 billeder istedet for 1 billede

Hej
Jeg har et uploadsample som virker fint men kunne godt tænke mig at udvide den lidt
Bruger kan kun uploade 1 billede jeg kunne godt tænke mig den uploader 4 billeder ?
Men jeg er ikke så god til det her !!!
Her er upload.asp :

<%
On Error Resume Next

username = Request.Cookies("username")
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim oConn
  Dim oRs
  Dim intCount
  Dim ConnectString, conn
  Dim ID
  intCount=0
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.AllowedFilesList = "jpg,gif"
  mySmartUpload.MaxFileSize = 500000
'  Upload
'  ******
  mySmartUpload.Upload

'  Connect to the DB
'  *****************
  Set oConn = Server.CreateObject("ADODB.Connection")
  pictures = ("D:***)
  oConn.Open "DBQ="& pictures &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"



'  Open a recordset
'  ****************
  strSQL = "SELECT FILENAME,FILE,username,ID FROM users WHERE username = '" & username & "'"

  Set oRs = Server.CreateObject("ADODB.recordset")
  Set oRs.ActiveConnection = oConn
  oRs.Source = strSQL
  oRs.LockType = 3
  oRs.Open

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then

      '  Add the current file in a DB field
      '  **********************************
       
    oRs.Update
   
        file.FileToField oRs.Fields("FILE")
        oRs("FILENAME") = username &  file.FileName
        oRs.Update
        file.SaveAs("pictures/" &  username  & file.filename)
    intCount = intCount + 1
      End If
  Next

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
 
'  Destruction
'  ***********
  oRs.Close
  oConn.Close
  Set oRs = Nothing
  Set oConn = Nothing

If Err Then
      Response.Write("<b>Your Picture is of the wrong kind of type please go back and correct the problem: Only .Jpg and .Gif is allowed !If your think its webmaster´s failure then mail him att: <a href='mailto:webmaster@d-soft.dk?subject=LOGIN FAILURE'><h3>WEBMASTER</h3> </b><br><a href='java script:self.history.go(-1)'><b><font color='red' font size='2'>Please go back and try again</b></font>" )
else
    Response.write ("<b><font size ='2' font color='blue'>Youe have uploaded your picture with success please click below to enter your profile</b></font><br><a href=profile.asp><b><font color='red' font size='2'>Back to profile :-)</b></font>")
   
end if
   



'Response.Redirect("profile.asp?updated=true")
%>
<p>&nbsp;</p>
Hvorn gør jeg dette ????
Avatar billede ares Nybegynder
13. april 2003 - 09:30 #1
Du skal vist bare tilføje flere linjer i din form, og døbe dem file1, file2, osv.

Den her bid kode gennemløber alle felter i formen:

'  Select each file
'  ****************

  For each file In mySmartUpload.Files

  '  Only if the file exist
  '  **********************

      If not file.IsMissing Then

  '  Add the current file in a DB field

Mvh

Ares.
Avatar billede ares Nybegynder
13. april 2003 - 09:31 #2
og det var ment som et svar ; )
Avatar billede KingMedia Novice
13. april 2003 - 10:04 #3
ares har helt ret......    du skal bare lave din form feks sån her..

<form method="POST" action="upload.asp" ENCTYPE="multipart/form-data">
<input type="file" name="FILE1">
<input type="file" name="FILE2">
<input type="file" name="FILE3">
<input type="file" name="FILE4">
<input type="file" name="FILE5">
<input type="file" name="FILE6">
<input type="submit">
</form>

her kan du så f.eks uploade 6 billeder...

en ting du bare skal huske er, at du skal sætte din session.timeout højere, jo flere filer du vil uploade ;o)

/Mads
Avatar billede lbos Nybegynder
14. april 2003 - 09:59 #4
Ja det hvar faktisk nemt nok men !! Når jeg uploader fortæller den rigtig nok jeg har feks. uploadet 2 filer
men hvorn kan jeg finde disse filer de har jo ens adresse i dben.

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then

      '  Add the current file in a DB field
      '  **********************************
       
    oRs.Update
   
        file.FileToField oRs.Fields("FILE")
        oRs("FILENAME") = username &  file.FileName
        oRs.Update
        file.SaveAs("/pictures/" &  username  & file.filename)
    intCount = intCount + 1
      End If
  Next

'  Display the number of files uploaded
'  ************************************
så de over skriver åbenbart hinanden !
Hvorn gør jeg det ???
Avatar billede ares Nybegynder
14. april 2003 - 10:23 #5
Jeg kender ikke din opbygning af databasen, men du kan vælge to metoder.

Du kan ændre oRs.Update til  oRs.new så vil der blive oprettet en post for hvert billede du uploader.

Skal der værer flere billeder pjeler jeg at lave en tabel med overskrifter og diverse andre tekster, og en tabel der f.eks. hedder picture.
Picture indeholder:
Filnavn: navnet på billede filen.
Reference: unik id der refere til tabellen med overskrifter.

Her skal du bruge oRs.new

Håber det hjælp...
Avatar billede lbos Nybegynder
14. april 2003 - 10:29 #6
Hej ares
jeg har en tabel med brugernavne og diverse andre og selvfølgelig file,filename
kan jeg ikke bare lave en filename1 ,filename2, filename3 også videre eller hvad er bedst? Jeg kan selvfølgelig lave en ny tabel med pictures men hvorn kan jeg så vide hvilke billeder er brugererens ?
Avatar billede ares Nybegynder
14. april 2003 - 13:34 #7
Det mest korrekte er at lave to tabeller.. så kan du uploade lige så mange billedere du vil til en "overskrift".

Men er det mindre end 5, kan du barelave filename1, osv.

Mvh

Ares
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