webForumDet fria alternativet

bilduppladdning

ASP

29 svar · 842 visningar · startad av Vinnaren · sida 2 av 2

Frågan, av Vinnaren

Hej Jag behöver hjälp med min bilduppladdning. har hittills följande kod: Set Upload = Server.CreateObject("Persits.Upload.1") Count = Upload.Save("c:\upload") Upload.SetMaxSize 50000 Upload.OverwriteFiles = False bildNamn = SafeSQL(Upload.Files(1).ExtractFileName) bildAgare = CLng(session("userID")) bildTyp = ?? objConn.execute("INSERT INTO bildHist

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#21

@nders skrev:

Har du skapat objektet File då?
(Du kan inte använda objektet Upload, metoden Move tillhör file-objektet)

Medlem sedan juli 20003 825 inlägg
#22

Kolla denna för felhantering. Löser allt. Ladda allt i samma mapp. Skit i vad saker heter...

' ## NO OVERWRITE
Upload.OverwriteFiles = False

Medlem sedan juli 20003 825 inlägg
#23

När du ska ta bort filer... (Kollar om filen finns, i så fall, ta bort den = inget felmeddelande om filen inte finns.)

SQL = "SELECT intID, strFileName FROM [images] WHERE intID = " & myVar & ""
set mySQL = Conn.Execute(SQL)

' ## DELETE FILE
Set fso = Server.CreateObject("Scripting.FileSystemObject")
IF fso.fileExists( server.MapPath("\files\" & mySQL(1) ) ) THEN
** fso.DeleteFile(Server.MapPath("\files\") & "\" & mySQL(1))
END IF
IF fso.fileExists( server.MapPath("\files\low_" & mySQL(1) ) ) THEN
** fso.DeleteFile(Server.MapPath("\files\") & "\low_" & mySQL(1))
END IF
IF fso.fileExists( server.MapPath("\files\high_" & mySQL(1) ) ) THEN
** fso.DeleteFile(Server.MapPath("\files\") & "\high_" & mySQL(1))
END IF
Set fso = Nothing

FSO = FileSystemObject

**********
För kännedom
Går även att göra med aspJPEG men då har du ingen felhantering för filer som inte finns...
I stället stannar koden mitt på sidan med felmeddelandet att "file not found" på rad 45... och allt efter det blir givetvis inte exekverat.

' ## FROM MANUAL

' Set Upload = Server.CreateObject("Persits.Upload")

' response.write Server.MapPath("\files\") & "/" & mySQL(2) & "/" & mySQL(1)
' Upload.DeleteFile Server.MapPath("\files\") & "/" & mySQL(2) & "/" & mySQL(1)
' Upload.DeleteFile Server.MapPath("\files\") & "/" & mySQL(1)

Medlem sedan sep. 2005833 inlägg
#24

nu funkar det :P

Jag ändrade till Upload.Files(1).Move

Men finns det något enkelt sätt att kolla så det är bilder man laddar upp?

Medlem sedan juni 200032 967 inlägg
#25

Läs i manualen!

http://www.aspupload.com/object_file.html#ContentType

Contenttype borde innehålla image om det är en bild.

Medlem sedan sep. 2005833 inlägg
#26

måste man ladda upp bilden innan man kan kolla om det är en bild eller kan man göra kollen innan bilden sparas??

Medlem sedan juni 200032 967 inlägg
#27

Bilden måste ju laddas upp till servern innan servern kan veta om det är en bild eller inte.

Medlem sedan sep. 2005833 inlägg
#28

Det finns inget annat sätt att kolla om det är en bild innan den sparas på databasen? Annars kan man ju ladda upp en stor fil på flera hundra MB som inte är en bild, vilket inte är så smart kanske :q

Medlem sedan juni 200032 967 inlägg
#29

Du behöver ju inte spara det som laddas upp, men servern måste ju ta emot det som skickas innan den kan avgöra vad det är för något.

En bra idé är ju att sätta gränser på hur stora filer man kan ladda upp också.

Medlem sedan sep. 2005833 inlägg
#30

Tack, nu funkar allt §e

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)