29. august 2004 - 14:11Der 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)
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")
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")
'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...
Synes godt om
Ny brugerNybegynder
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.