webForumDet fria alternativet

Ladda upp med ASPUpload och förminska

ASP

8 svar · 329 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Jag har denna kod för att förminska bilder

<%
varPic=request.QueryString("pic")
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage(Server.MapPath("/upload/images/cards/thumb/" & varPic))
Image.FileName = (Server.MapPath("/upload/images/cards/thumb/" & varPic))
'Image.ImageFormat = 1
'Image.JPEGQuality = 70
Image.Resize 112,148
Image.ImageFormat = 3 'Stöd bara .png
Image.CreateButton 3, true
Image.SaveImage
Set Image = Nothing
%>

Var ska jag lägga uppladdningskoden för ASPUpload och sparandet i databasen, före eller efter, ska m ha uppladdningen och sparandet i databas i ett block och ovanstående kod i ett

Medlem sedan feb. 20032 027 inlägg
#2

ingen som vet?

Medlem sedan apr. 20003 174 inlägg
#3

Ladda upp bilden först och spara allt som du vill i databasen.
Skapa sedan en funktion som sköter bildhanteringen åt dig och anropa den när du är klar med ovanstående. :)

Medlem sedan feb. 20032 027 inlägg
#4

jag laddar redan upp bild till db och sparar , sen skickar jag vidare bildinfo till en annan sidan för förminskning och uppladdning av miniatyr....det är det som inte funkar

Palle skrev:

Ladda upp bilden först och spara allt som du vill i databasen.
Skapa sedan en funktion som sköter bildhanteringen åt dig och anropa den när du är klar med ovanstående. :)

Medlem sedan feb. 20032 027 inlägg
#5

Denna kod sparar bilden i orginalstrorlek och laddar upp till servern

<!-- #include virtual="/include/dbconn.asp" -->
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = False
Upload.SetMaxSize 100000, False
Count=Upload.Save(Server.MapPath("/upload/images/cards"))
For Each file In Upload.Files
  If File.ImageType = "UNKNOWN" Then
  
      Response.Redirect "/error.asp?msg=wrongFileType"
      File.Delete 
   End If
  Next
For Each file In Upload.Files

If file.Size = 100000 Then
        'This means the file was truncated
        Response.Redirect "/error.asp?msg=fileTooBig"
    File.Delete 
    End If
Next

Set File = Upload.Files
sender = replace(Upload.form("txtSender"),"'","''")
If NOT File Is Nothing Then
On Error Resume Next
strFileName= Upload.Files("blob").ExtractFileName  

END IF
   

Dim objConn
	SET objConn = connect()
	picture = "INSERT INTO tblMotive"
	picture = picture & "(motive,sender,cardOK) "
	picture = picture & "VALUES('" & strFileName & "','"& sender &"',1)"
	objConn.Execute picture
	%>

<%response.redirect "/persist-small-image.asp?pic="& strFileName%>

Här går bilden vidare till en annan sida och sparas i db i en ny kolumn och förminskas till en tumnagel som ska sparas i mappen thumb

<!-- #include virtual="/include/dbconn.asp" -->
<%
varPic=request.QueryString("pic")
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage(Server.MapPath("/upload/images/cards/thumb/" & varPic))
Image.FileName = (Server.MapPath("/upload/images/cards/thumb/" & varPic))
'Image.ImageFormat = 1
'Image.JPEGQuality = 70
Image.Resize 112,148
Image.ImageFormat = 3 'Stöd bara .png
Image.CreateButton 1, true
Image.SaveImage

Dim objConn
objConn.Execute("Update tblMotive SET motiveSmall='"&varPic&"' WHERE motive='"&varPic&"'")
	Set Image = Nothing
%>

<%response.redirect "/motiveUpload.asp?pic="& varPic &" &a=1&b=1&d=1"%>

Det som inte funkar nu är att när bilden förminskas så är det bara en helvit bild som sparas i rätt storlek, det är inte orginalbilden som är förminskad trots att jag skickar med bilden till denna andra sida

Medlem sedan mars 20015 287 inlägg
#6

Innehåller variabeln varPic / pic / strFileName filnamnet inklusive filändelsen?

Sen har du väl inte överhuvudtaget bilden i den mapp du pekar mot? Mappen thumbs?

Det är väl heller inte någon vits att spara till db två gånger? (Det är ju till och med samma namn du spar.¨)

Medlem sedan feb. 20032 027 inlägg
#7

jag sparar bilden i kolumnen motive som är bildnamnet i orginalstorlek och samma namn i kolumnen motiveSmall som är för miniatyren. Jag får med hela filnamnet i variabeln inklusive filändelsen. På servern så sparas rätt bild med rätt namn i /upload/images/cards och jag kan se bilden , i /upload/images/cards/thumb sparas den vita bilden (som skulle vara förminskade orginalbilden) i rätt format med rätt namn

HUR får jag med orginalbilden så att den förminskas och laddas upp i /upload/images/cards/thumb

Medlem sedan mars 20015 287 inlägg
#8
Image.LoadImage(Server.MapPath("/upload/images/cards/" & varPic))

Fast jag tycker fortfarande att det är onödigt att öppna och skriva till databasen två gånger.
Du kan väl till och med ha all kod i ett stycke på en sida?

Medlem sedan feb. 20032 027 inlägg
#9

var det så enkelt *ler*

tack

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)