03. februar 2007 - 21:42Der er
9 kommentarer og 1 løsning
Rename under / efter upload af billede
Hej eksperter
Jeg har fundet nedenstående kode, som uploader og resizer perfekt - problemet er bare, at den gemmer med original billedefilnavn. Jeg vil høre, om nogle lige kunne rette i koden, så det er muligt selv at bestemme, hvad den uploadede fil skal gemmes som. Virkelig på forhånd tak.
<% function resize(sti,navn,nyX) Set objImg = Server.CreateObject("AspImage.Image") objImg.PadSize = 0 objImg.LoadImage Server.MapPath(sti & navn) objImg.GetImageFileSize Server.MapPath(sti & navn), X, Y
ResizedX = nyX objImg.MaxX = X objImg.MaxY = Y
if X > ResizedX then ResizedY = (ResizedX / objImg.MaxX) * objImg.MaxY objImg.ResizeR ResizedX, ResizedY objImg.FileName = (Server.MapPath(sti & navn)) objImg.SaveImage end if
Set objImg = Nothing end function
If Request("s") = "upload" Then
Dim mySmartUpload Dim file1 Dim intCount intCount=0
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
For each file1 In mySmartUpload.Files
If not file1.IsMissing Then
file1.SaveAs("/upload/" & file1.FileName)
Response.Write("FileName = " & file1.FileName & "<br>") call resize("upload/",file1.FileName,300) Response.Write("<img src=""upload/" & file1.FileName & """ title=""Your uploaded image""><br>") intCount = intCount + 1 End If Next
<% function resize(sti,navn,nyX) Set objImg = Server.CreateObject("AspImage.Image") objImg.PadSize = 0 objImg.LoadImage Server.MapPath(sti & navn) objImg.GetImageFileSize Server.MapPath(sti & navn), X, Y
ResizedX = nyX objImg.MaxX = X objImg.MaxY = Y
strNavn = "nyenavn"
if X > ResizedX then ResizedY = (ResizedX / objImg.MaxX) * objImg.MaxY objImg.ResizeR ResizedX, ResizedY objImg.FileName = (Server.MapPath(sti & strNavn)) objImg.SaveImage end if
<% function resize(sti,navn,nyX) Set objImg = Server.CreateObject("AspImage.Image") objImg.PadSize = 0 objImg.LoadImage Server.MapPath(sti & navn) objImg.GetImageFileSize Server.MapPath(sti & navn), X, Y
ResizedX = nyX objImg.MaxX = X objImg.MaxY = Y
' Definerer navn på filen ' Denne variabel bliver hentet nedeunder i linien objImg.Filename strNavn = "nyenavn"
if X > ResizedX then ResizedY = (ResizedX / objImg.MaxX) * objImg.MaxY objImg.ResizeR ResizedX, ResizedY objImg.FileName = (Server.MapPath(sti & strNavn)) objImg.SaveImage end if
Helt perfekt :-) Den behøver dog ikke gemme både original og "nyenavn". Hvordan slettes lige originalen? Og en lille ting mere, hvis det ikke er for meget - hvis jeg forsøger f.eks. at uploade et 2 mio. pixels billede, får jeg bare følgende meddelelse:
Script timed out
/upload2.asp
The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.
Kan "tiden" nemt ændres?
Virkelig på forhånd tak. Smid et svar og du har fortjent alle point.
<% function resize(sti,navn,nyX) Set objImg = Server.CreateObject("AspImage.Image") objImg.PadSize = 0 objImg.LoadImage Server.MapPath(sti & navn) objImg.GetImageFileSize Server.MapPath(sti & navn), X, Y
ResizedX = nyX objImg.MaxX = X objImg.MaxY = Y
' Definerer navn på filen ' Denne variabel bliver hentet nedeunder i linien objImg.Filename strNavn = "nyenavn"
if X > ResizedX then ResizedY = (ResizedX / objImg.MaxX) * objImg.MaxY objImg.ResizeR ResizedX, ResizedY objImg.FileName = (Server.MapPath(sti & strNavn)) objImg.SaveImage end if
Set objImg = Nothing
' Opretter objekt til sletning (FSO) Set FsoObj = Server.CreateObject("Scripting.FileSystemObject")
' Angiver sti til billede strSource = Server.Mappath(sti & navn)
' Tjekker om filen eksisterer If FsoObj.FileExists(strSource) Then FsoObj.DeleteFile(strSource) ' Sletter filen - hvis den eksisterer End if
Tak for point, det var godt du fik det til at virke :-)
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.