Avatar billede klinemann Nybegynder
05. februar 2007 - 17:05 Der er 1 kommentar og
1 løsning

Uploadscript til database.

hejsa jeg har et upload-script som uploader til en database.

Når jeg ligger det for sig selv som upload.asp fungere det men hvis jeg ligger det som default.asp?mode=upload&uploadfoto= virker det IKKE selvom jeg har rettet linksne til! - hvorfor?
Avatar billede klinemann Nybegynder
05. februar 2007 - 17:06 #1
<%
strmode = request.QueryString("tilfoj")
UploadPics = 5

if strmode="flere" or strmode="" or strmode="done" then
if strmode="done" then
response.write ""
end if

iAntal = Cint(request.form("antal"))
if iAntal < 1 or iAntal = "" then
iAntal = 1
end if

response.write "<b>UPLOAD</b><hr>"
response.write "Information:<br>"
response.write "- dit billed må maks. fylde 300 kb.<br>"
response.write "- dit billed skal omdøbes <b>''brugernavn_billedtitel.jpg''</b> ellers kan dit billed ikke vises.<br>"
response.write "<br>"
response.write "<form action='default.asp?mode=uploadfoto&tilfoj=upload' method='post' enctype='multipart/form-data'>"
for ie = 1 to iAntal
response.write "<table><tr><td><b>Find billede:</b></td><td><input type='file' size='55' name='billede" & ie & "'></td></tr>"
response.write "  <input type='hidden' value='Markus' name='brugernavn" & ie & "'>"
response.write "<tr><td><b>Beskrivelse:</b></td><td><input type='text' size='55' name='description" & ie & "'></td></tr></table>"
next
response.write "<input type='submit' value='Upload!'>"
response.write "</form>"
response.write "<table width='100%'><tr><td>Upload flere billeder på samme tid:</td><td>"
response.write "<form action='default.asp?mode=uploadfoto&tilfoj=' method='post'>"
response.write "<select name='antal'>"
for ie = 1 to UploadPics
response.write "<option value='" & ie & "'>" & ie & "</option>"
Next
response.write "</select></td></tr><tr><td><input type='submit' value='Opdater'></td></tr></table></form>"

elseif strmode="upload" then

dim oUpload
set oUpload = server.CreateObject("aspSmartUpload.SmartUpload")
oUpload.MaxFileSize = 300001 '300kb
oUpload.AllowedFilesList = "jpg,JPG,gif,GIF,bmp,BMP,jpeg,JPEG"
on Error resume next

dim strUploadPath
dim strFile
dim strExt
dim i
i = 1

strUploadPath = "billeder/"

oUpload.upload

for each File in oUpload.files
strFile = File.FileName

if strFile = "" then
response.write "Du skal vælge en fil!"
else
set conn = server.CreateObject("adodb.connection")
set rs = server.CreateObject("adodb.recordset")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../billeder.mdb")

sql="select * from billeder where name='" & strFile & "'"
set rs = conn.execute(sql)
if rs.eof then
File.SaveAs(server.MapPath(Lcase(strUploadpath & strFile)))
if Err then
response.write "Der skete en fejl: " & err.description
else
sql ="insert into billeder(name, brugernavn, description, path, uploaded) VALUES('" & strFile & "', '" & oUpload.form.item("brugernavn" & i) & "', '" & oUpload.form.item("description" & i) & "', '" & strUploadpath & strFile & "', #" & now() & "#)"
conn.execute(sql)
end if
else
response.write "En fil med dette navn findes allerede, omdøb filen og prøv igen"
end if
end if
i = i+1
next

if not err then
response.redirect "default.asp?mode=uploadfoto&tilfoj=done"
end if

On Error goto 0
rs.close
conn.close
set rs = nothing
set conn = nothing
set oUpload = nothing
end if
%>

<%
set conn = server.CreateObject("adodb.connection")
set rs = server.CreateObject("adodb.recordset")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../billeder.mdb")

strPageSize = 3 'antal billeder på hver linie

sql="select * from billeder"
set rs = conn.execute(sql)

response.write "<b>BILLEDER</b><hr>"
if rs.eof then
response.write "Der er ingen billeder gemt i databasen!"
else
ArrBrugernavn = ""
ArrBeskrivelse = ""
ArrUploaded = ""
rs.movefirst
do while not rs.eof
brugernavn = brugernavn & rs("brugernavn") & ","
beskrivelse = beskrivelse & rs("description") & ","
uploaded = uploaded & rs("uploaded") & ","
rs.movenext
loop
Arrbrugernavn = Split(brugernavn, ",")
ArrBeskrivelse = Split(beskrivelse, ",")
ArrUploaded = Split(uploaded, ",")
rs.movefirst
i = 0
total = 0
response.write "<table cellspacing='5' cellpadding='5'><tr>"
do while not rs.eof
i = i + 1
total = total + 1
response.write "<td valign='top' width='200'><img width='200' src='" & rs("path") & "'"
response.write " alt='" & rs("description") & "'></td>"

if i = strPageSize then
response.write "</tr><tr>"
iNummer = Cint(total)-Cint(strPageSize)
for ie = 1 to strPageSize
response.write "<td width='200'>"
if ArrBeskrivelse(iNummer) = "" then
response.write "<b>Beskrivelse:</b> "
response.write "Ingen beskrivelse"
response.write "<br><b>Brugernavn:</b> "
response.write ArrBrugernavn(iNummer)
else
response.write "<b>Beskrivelse:</b> "
response.write "Ingen beskrivelse"
response.write "<br><b>Brugernavn:</b> "
response.write ArrBrugernavn(iNummer)
end if
response.write "<br><b>Uploaded:</b> " & ArrUploaded(iNummer) & "<br><br><hr><br><br></td>"
iNummer = iNummer + 1
next
response.write"</tr><tr>"
i = 0
end if
rs.movenext
loop

if i < strPageSize then
iNummer = Cint(total-i)
response.write "</tr><tr>"
for ie = 1 to i
response.write "<td width='200'>"
if ArrBeskrivelse(iNummer) = "" then
response.write "<b>Beskrivelse:</b> "
response.write "Ingen beskrivelse"
response.write "<br><b>Brugernavn:</b> "
response.write ArrBrugernavn(iNummer)
else
response.write "<b>Beskrivelse:</b> "
response.write "Ingen beskrivelse"
response.write "<br><b>Brugernavn:</b> "
response.write ArrBrugernavn(iNummer)
end if
response.write "<br><b>Uploaded:</b> " & ArrUploaded(iNummer) & "</td>"
iNummer = iNummer + 1
next
response.write "</tr>"
end if
response.write "</table>"
end if
%>
Avatar billede klinemann Nybegynder
21. februar 2007 - 22:55 #2
lukker..
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