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
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. :)
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. :)
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
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
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?