18. februar 2004 - 17:13Der er
70 kommentarer og 1 løsning
Simpel upload af flere billeder
Hej Eksperter Jeg har denne side som uploader 1 billed, men jeg vil gerne udvide den til at kunne uploade 10 billeder, samtidig med at de uploadede billeder bliver omdøbt til et fortløbende nummer. Er det noget i kan klare???
<% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2
sti = "/infratech/billeder/sager/" for each file in upload.Files If not file.IsMissing Then filnavn = sti & file.FileName file.saveas Server.MapPath(filnavn) else filnavn = "" end if next
sti = "/infratech/billeder/sager/" for each file in upload.Files If not file.IsMissing Then filnavn = sti & file.FileName file.saveas Server.MapPath(filnavn) else filnavn = "" end if next
Laves om til dette:
sti = "/infratech/billeder/sager/" index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) index = index + 1 else filnavn = "" end if next
Så skal det laves om til noget i stil med dette, stien skulle også komme med.:
<% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2 indlaeg.AddNew indlaeg("foto1") = "xx" indlaeg.Update 'Få ID på den nye post rapportid = indlaeg("id")
sti = "/infratech/billeder/sager/" & rapportid & "/" index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else filnavn = "" end if next
<% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2 indlaeg.AddNew indlaeg("foto1") = "xx" indlaeg.Update 'Få ID på den nye post rapportid = indlaeg("id")
sti = "/infratech/billeder/sager/" & rapportid & "/"
Set fs=Server.CreateObject("Scripting.FileSystemObject") If fs.FolderExists(Server.Mappath(sti)) = false Then fs.CreateFolder(Server.Mappath(sti)) end if index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else filnavn = "" end if next
Jeg har nu rettet det til dette og nu kan jeg uploade en sag hvis der ikke er noget billed, men hvis der er et billed er der fejl <% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2
sti = "/infratech/billeder/sager/"
index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else filnavn = "" end if next
Dette virker på den måde at alle billeder bliver uploadet til mappen sager samtidig med at stierne gemmes i databasen
Men hvordan får jeg det lavet sådan at de gemmes i den "id"-folder vi snakkede om?? <% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2
indlaeg.addnew
sti = "/infratech/billeder/sager/" index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else filnavn = "" end if next
Man kan styre max størrelse på en fil eller alle filer med disse to: .TotalMaxFileSize .MaxFileSize men jeg syntes umiddelbart ikke der er en max størrelse opgivet.
<% Set indlaeg = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set upload = Server.CreateObject("aspSmartUpload.SmartUpload") upload.Upload
indlaeg.Open "SELECT * FROM tblsag", database,2 ,2
Sql1 = "Select * From tblsag order by id desc" Set Rs1 = database.Execute(Sql1) rapportid=rs1("id")+1 indlaeg.addnew
sti = "/infratech/billeder/sager/" & rapportid & "/" Set fs=Server.CreateObject("Scripting.FileSystemObject") If fs.FolderExists(Server.Mappath(sti)) = false Then fs.CreateFolder(Server.Mappath(sti)) end if index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else filnavn = "" end if next
<% filnavn = "/infratech/billeder/sager/foto1.jpg" Set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.FileExists(Server.Mappath(filnavn)) then fs.DeleteFile(Server.Mappath(filnavn)) end if set fs=nothing %>
jeg fandt lige ud af at jeg først skal have lavet om i denne kode så den ikke overskriver tidligere uploade filer hvis man er inde og rette i sagen
sti = "/infratech/billeder/sager/" & id & "/" Set fs=Server.CreateObject("Scripting.FileSystemObject") If fs.FolderExists(Server.Mappath(sti)) = false Then fs.CreateFolder(Server.Mappath(sti)) end if index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1 else indlaeg("foto" & index) = "" index = index + 1 end if next
Slet filerne. Hvis man vælger det ud fra et ID altså den folder som billederne ligger i.:
<% id = Request.QuesryString("id") sti = "/infratech/billeder/sager/" & id & "/"
sfil = Request.ServerVariables("SCRIPT_NAME") set fs=Server.CreateObject("Scripting.FileSystemObject")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then filnavne = Request.Form("sletmig") arr = Split(filnavne,",") for i = lbound(arr) to ubound(arr) if fs.FileExists(Server.Mappath(sti & arr(i))) Then fs.DeleteFile (Server.Mappath(sti & arr(i))) end if next end if
set f=fs.GetFolder(Server.Mappath(sti)) %> <form action="<%=sfil%>?id=<%=id%>" method="post"> <% for each file in f.files %> <img src="<%=sti & file.name%>"><input type="checkbox" name="sletmig" value="<%=file.name%>"><br> <% next %> <input type="submit" name="Sletdem" value="Slet"> </form> <% set f=nothing set fs=nothing %>
index = 1 for each file in upload.Files If not file.IsMissing Then filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn index = index + 1
laves om til dette:
index = 0 for each file in upload.Files If not file.IsMissing Then do index=index+1 filnavn = sti & "foto" & index & "." & file.FileExt loop while fs.FileExists(filnavn) file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn
for index = 1 to 10 If Not Upload.Files("FILE"&index) Is Nothing Then Set file = Upload.Files("FILE"&index) filnavn = sti & "foto" & index & "." & file.FileExt file.saveas Server.MapPath(filnavn) indlaeg("foto" & index) = filnavn end if next
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.