25. juli 2002 - 12:43Der er
54 kommentarer og 1 løsning
Upload af billede
Jeg uploader billede til serveren med dette script -------------------------------------------------- MyConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("profiles/profiles.mdb") For Each File in Upload.Files File.ToDatabase MyConn, "insert into Images(images, username) " &_ "values('" & File.ExtractFileName & "', '" & upload.form("username") & "')" if Err <> 0 Then Response.Write headerfont & "<br>Der er sket en fejl! : " & Err.Description Else Response.Redirect "add_billede.asp?user="& upload.form("username") &"" End If Next ------------------------------------------------------- Problemet er at hvis billedet indeholder mellemrum i navnet bliver billedet ikke vist rigtigt, kan det lade sig at at trække navnet sammen så det gemmes som et langt navn eller er der en anden løsning på dette problem?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
cablenet.dk>> trim() virker sgudda ikke inde midt i en streng!
sesam>> Du bliver nødt til at specificere _præcist_ hvad der går galt hvornår. "Billedet vises ikke rigtigt" - kan jeg ikke bruge. Hvad mener du med det helt præcist? Hvor opstår fejlen osv. Ellers bliver det svært at hjælpe dig
Heh - dig kan jeg sku li! "Er der ikke en funktion der kan trække navnet sammen?" og så gi'r jeg dig en funktion. Så spørger du næsvist hvordan du "så lige" skal bruge den. I stedet for File.ExtractFileName ovenfor skriver du:
Sorry - jeg har bare oplevet tusind gange før at få at vide: "Det virker ikke". Jeg mener bare, hvis jeg forsøger at hjælpe, skal personen også forsøge selv. Så det er muligt jeg blot generaliserer og at bemærkningen slet ikke var ment til dig.
Anyway fungerer funktionen eller melder den stadig fejl? I så fald prøv at højreklikke på billedet med det røde kryds og fortæl mig præcist hvad der står som URL
Det er helt okay - funktionen virker fint, den gemmer trækker navnet sammen, men nu har jeg et andet problem og der er at selve billedet bliver gemt med original billedets navn. Jeg har forsøgt selv at fikse problemet men jeg kan ikke få den til at gemme billedet korrekt.
------------------------------ <% function RemoveSpaces(Text) S = "" for I = 1 to Len(Text) if Mid(Text, I, 1)<>" " then s = s + Mid(Text, I, 1) end if next removespaces = s end function %> <% On Error Resume Next set conn = Server.CreateObject("ADODB.Connection") Set Upload = Server.CreateObject("Persits.Upload.1") Upload.OverwriteFiles = false Upload.SetMaxSize 100000, True Upload.SaveVirtual ("images/profiler/") set persistfil_billede = upload.files("file1") If Err.Number = 8 Then Response.Write "<table border=0 width=500 cellpadding=0 cellspacing=0><tr><td align=center><b>Dit billede fylder for meget, prøv venligst igen.</b></td></tr><tr><td align=center><a href=java script:history.back();>Tilbage</a></td></tr></table>" else Response.Write "<table border=0 width=500 cellpadding=0 cellspacing=0><tr><td align=center><b>Du skal vælge et billede.</b></tr></td><tr><td align=center><a href=java script:history.back();>Tilbage</a></td></tr></table>" end if MyConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("profiles/profiles.mdb") For Each File in Upload.Files File.ToDatabase MyConn, "insert into Images(images, username) " &_ "values('" & RemoveSpaces(File.ExtractFileName) & "', '" & upload.form("username") & "')" if Err <> 0 Then Response.Write headerfont & "<br>Der er sket en fejl! : " & Err.Description Else 'response.write "hej" Response.Redirect "add_billede.asp?user="& upload.form("username") &"" End If Next
Ville det ikke være smart hvis filnavnet var HELT unikt, sådan at flere brugere ikke kom til at overskrive hinandens billeder, hvis nu fx både du og jeg uploadede billeder med navnet "mig.jpg"
<% Function MakeTemp(Count) Dim randchars, S randchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678901234567890123456789" S = "" Randomize For I=1 To Count S = S + Mid(RandChars, CLng( Rnd * (Len(RandChars)-1) ), 1) Next MakeTemp = S End Function
Function ExtractExt(FN) ExtractExt = Mid(FN, InStr(FN, ".")) End Function
On Error Resume Next Set Conn = Server.CreateObject("ADODB.Connection") Set Upload = Server.CreateObject("Persits.Upload.1") Upload.SetMaxSize 100000, True
Set ImgFile = Upload.Files("file1") If Err.Number = 8 Then Response.Write "<table border=0 width=500 cellpadding=0 cellspacing=0><tr><td align=center><b>Dit billede fylder for meget, prøv venligst igen.</b></td></tr><tr><td align=center><a href=java script:history.back();>Tilbage</a></td></tr></table>" Else if Err.Number <> 0 Then Response.Write "<table border=0 width=500 cellpadding=0 cellspacing=0><tr><td align=center><b>Du skal vælge et billede.</b></tr></td><tr><td align=center><a href=java script:history.back();>Tilbage</a></td></tr></table>" End If End If
If Err <> 0 Then Response.Write headerfont & "<br>Der er sket en fejl! : " & Err.Description Else Response.Redirect "Add_Billede.asp?user=" & Upload.Form("username") End If
rundt om denne linje: Set ImgFile = Upload.Files("file1")
put da følgende kode (som er midlertidig - altså blot for at vi kan finde fejlen):
Dim ImgFile Set ImgFile = Upload.Files("file1") If ImgFile is Null Then Response.Write "null" ElseIf ImgFile is Nothing Then Response.Write "nothing" ElseIf ImgFile is Empty Then Response.Write "empty" Else Response.Write "god" End If Response.End
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.