Avatar billede dj-sejler Praktikant
29. august 2004 - 14:11 Der er 2 kommentarer og
1 løsning

File upload med aspsmartupload

Hej...

Jeg har skal oploade 3 billeder til 3 forskellige mapper, men er ikke helt sikker på hvordan jeg gør det.
samtidig skal jeg have det ene filnavn, samt en valgt kategori gemt i en accessdatabase:

filerne:
strlille
str800x600
str1024x768

strkat  <-- kategorien

Jeg havde tænkt noget i den retning, men der kan jeg ikke se om jeg kan gemme filerne i hver deres mappe...:

<%
If request.querystring("add") <> "" then
    strError = ""   
    strlille = Trim(Request.Form("lille"))
    str800x600 = Trim(Request.Form("800x600"))
    str1024x768 = Trim(Request.Form("1024x768"))
    strkat = Trim(Request.Form("kat"))
    next
    If Len(strlille) = 0 Then
        strError = 1
    Elseif Len(str800x600) = 0 Then
        strError = 2
    Elseif Len(str1024x768) = 0 Then
        strError = 3
    Elseif Len(strkat) = 0 Then
        strError = 4
    End If
        If Len(strError) = 0 Then

'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Only allow txt or htm files
'  ***************************
  mySmartUpload.AllowedFilesList = "jpeg,jpg,gif"
  mySmartUpload.DeniedFilesList = "exe,bat,asp,php,htm,html,com"

'  Only allow files smaller than 50000 bytes
'  *****************************************
  mySmartUpload.MaxFileSize = 50000

'  Upload
'  ******
  mySmartUpload.Upload


'  Trap errors
'  ***********
  If Err Then
    response.redirect("../?side=media&bag=tilfoj&fejl" & strerror)
  End If

  for each file in mySmartUpload.files
    If not file.IsMissing Then
   
    'Connecte til db:
    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.Mappath("../../db/media.mdb")
    Conn.Open connstr

    rs.Open "SELECT * FROM download WHERE (id = 0)", conn, 1,3
    rs.add
 
    rs("navn") = file.FileName
    rs.Update

    file.SaveAs "/bg_image." & file.Fileext

   
    rs("navn") = file.name
    rs.Update
    rs.Close
    Conn.Close
    end if
next
    Response.Redirect("../?side=media")
else
    response.redirect("../?side=media&bag=tilfoj&fejl" & strerror)

%>
Avatar billede dj-sejler Praktikant
29. august 2004 - 15:58 #1
hallo?
må lige sige hvis i ikke forstår det...
Avatar billede eagleeye Praktikant
29. august 2004 - 21:35 #2
Når man bruge en upload komponent kan man ikke bruge Request.Form man skal bruge upload komponentes form collection.


<%
If request.querystring("add") <> "" then

'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Only allow txt or htm files
'  ***************************
  mySmartUpload.AllowedFilesList = "jpeg,jpg,gif"
  mySmartUpload.DeniedFilesList = "exe,bat,asp,php,htm,html,com"

'  Only allow files smaller than 50000 bytes
'  *****************************************
  mySmartUpload.MaxFileSize = 50000

'  Upload
'  ******
  mySmartUpload.Upload

  if mySmartUpload.Files("lille").IsMissing then
    strError = 1
  elseif mySmartUpload.Files("800x600").IsMissing then
    strError = 2
  elseif mySmartUpload.Files("1024x768").IsMissing then
    strError = 3
  elseif mySmartUpload.Form("kat")<>"" then
    strError = 4
  end if 
  if strError <> "" then
    response.redirect("../?side=media&bag=tilfoj&fejl" & strerror)
  end if

'  Trap errors
'  ***********
  If Err Then
    response.redirect("../?side=media&bag=tilfoj&fejl5")
  End If


  set fileLille = mySmartUpload.Files("lille")
  set file800 = mySmartUpload.Files("800x600")
  set file1024 = mySmartUpload.Files("1024x768")

  fileLille.SaveAs "/lille/" & fileLille.FileName
  file800.SaveAs "/800x600/" & file800.FileName
  file21024.SaveAs "/1024x768/" & file1024.FileName

  'Connecte til db:
  Set conn = Server.CreateObject("ADODB.Connection")
  Set rs = Server.CreateObject("ADODB.Recordset")
  connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.Mappath("../../db/media.mdb")
  Conn.Open connstr

  rs.Open "SELECT * FROM download WHERE (id = 0)", conn, 1,3
  rs.add
  rs("navn") = "/lille/" & fileLille.FileName
  rs("kategori") = mySmartUpload.Form("kat")
  rs.Update
  rs.Close
  Conn.Close
end if
Response.Redirect("../?side=media")
%>
Avatar billede dj-sejler Praktikant
31. august 2004 - 21:42 #3
Det virker ikke...
her er den fil jeg har lavet, og tilpasset så mapperne passe

<%
If request.querystring("add") <> "" then

'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Only allow txt or htm files
'  ***************************
  mySmartUpload.AllowedFilesList = "jpeg,jpg,gif"
  mySmartUpload.DeniedFilesList = "exe,bat,asp,php,htm,html,com"

'  Only allow files smaller than 250000 bytes
'  *****************************************
  mySmartUpload.MaxFileSize = 250000

'  Upload
'  ******
  mySmartUpload.Upload

  if mySmartUpload.Files("lille").IsMissing then
    strError = 1
  elseif mySmartUpload.Files("800x600").IsMissing then
    strError = 2
  elseif mySmartUpload.Files("1024x768").IsMissing then
    strError = 3
  elseif mySmartUpload.Form("kat")<>"" then
    strError = 4
  end if 
  if strError <> "" then
    response.redirect("../?side=media&bag=tilfoj&fejl" & strerror)
  end if

'  Trap errors
'  ***********
  If Err Then
    response.redirect("../?side=media&bag=tilfoj&fejl=5")
  End If


  set fileLille = mySmartUpload.Files("lille")
  set file800 = mySmartUpload.Files("800x600")
  set file1024 = mySmartUpload.Files("1024x768")

  fileLille.SaveAs "../../media/" & fileLille.FileName
  file800.SaveAs "../../media/800x600/" & file800.FileName
  file1024.SaveAs "../../media/1024x768/" & file1024.FileName

  'Connecte til db:
  Set conn = Server.CreateObject("ADODB.Connection")
  Set rs = Server.CreateObject("ADODB.Recordset")
  connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.Mappath("../../../db/media.mdb")
  Conn.Open connstr

  rs.Open "SELECT * FROM download WHERE (id = 0)", conn, 1,3
  rs.add
  rs("navn") = fileLille.FileName
  rs("kat") = mySmartUpload.Form("kat")
  rs.Update
  rs.Close
  Conn.Close
end if
Response.Redirect("../?side=media")
%>

Når man ikke udfylder formen og sender, reloader den bare siden.
Men hvis man udylder hele formen og sende, sker der ikke noget. Den køre og køre bare...
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