webForumDet fria alternativet

aspupload, aspjpeg

ASP

1 svar · 992 visningar · startad av GustaFsson

Medlem sedan jan. 200534 inlägg
Frågan#1

Har försökt att lösa det här under ett längre tag.

Jag vill ladda upp en bild.
Den ska behandlas med aspjpeg.
Först skalas om och sparas som binärt i databas (image_blob)
Sedan skalas om igen och sparas som binärt i databas (thumb_blob)

Lyckas skala om bilder och döper dem till image resp. thumb i mapp på servern.

Försöker lösa det på fler sätt.
1. Aspjpeg sparar binärt i databasen.
Vad jag vet så finns endast SendBinary
2. Aspupload hämtar befintligfil på server och sparar den istället i databasen.

Nån som har en lösning?

Medlem sedan dec. 2009872 inlägg
#2

http://www.aspupload.com/object_file.htm

Jag vet inte vad du kan om kod, men har du tittat i manualen?
Först ska du ladda upp bilden, sen dunka in den i databasen. Jag vet dock inte om du kan göra det där i ett svep. Det är inte omöjligt.

Jag har aldrig slangat in bilder direkt i databasen för dom blir så grymt stor då.
För mig har det passat bättre att spara sökvägen och sen gjort kopior på servern, vilket du också beskriver ovan.

***
Så här brukar jag lösa det med bilder. Ett "original" som jag sen aldrig rör och sen olika varianter baserat på detta original. Detta är för att Jpeg är ett "förstörande" format, som bekant.

<!-- #INCLUDE VIRTUAL="/admin/open.asp" -->
<%
' ## DEFINE INSTANCE
Set Upload = Server.CreateObject("Persits.Upload")

' ## SELECT TABLENAME
myTable = "files"

myPath = "edit.asp?ID=" & request("ID")
'IF request("row")    <> "" THEN myPath = myPath & "&row="    & request("row")
'IF request("menuID") <> "" THEN myPath = myPath & "&menuID=" & request("menuID")
myID   = request("ID")

IF request("dbaction") = "insert" THEN

	' ## NO OVERWRITE
	Upload.OverwriteFiles = False

	' ## SAVE FILE
	Upload.Save Server.MapPath("\files\") & "\"

	' ## Obtain file object
	Set File = Upload.Files("FILE1")

	IF NOT File IS NOTHING THEN

	  ' ## NEW POST
	  SQL = "INSERT INTO [" & myTable & "] (intNewsSEID, strName, dteCreated, dteViewFrom, dteViewTo, " _
		& " strFileName, intFilesize, intSortfield) SELECT " _
		& myID & ", '" _
		& File.Filename & "', #" _
		& date() & "#, #" & date() & "#, #" & date() & "#, '" _
		& File.Filename & "', " _
		& File.Size & ", " _
		& " (COUNT(*)+1) FROM [" & myTable & "] WHERE intNewsSEID = " & myID & ";"

  	Conn.Execute(SQL)
 ' 	Response.Write "File saved."
	ELSE
	'  Response.Write "File not selected."
	END IF

	' ## CONVERT FILE TO WEBFORMAT
	' 1. fileName = original file = 800
	' 2. high_fileName = 400
	' 3. low_fileName = 190

	' ## http://www.aspjpeg.com/manual.html
	' ## RESAMPLE IMG
	Dim Jpeg
	DIM intNewWidth, intNewHeight
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
	Path = Server.MapPath("/files/" & File.Filename )
	Jpeg.Open Path

	' ## SAVE FILE TO DISK - 800
	IF Jpeg.OriginalWidth > 800 THEN
		intNewWidth = 800
		IF Jpeg.OriginalWidth > CInt(intNewWidth) THEN
			Jpeg.PreserveAspectRatio = True
			Jpeg.Width = intNewWidth
		END IF
	END IF
	Jpeg.Save Server.MapPath("/files/" & File.Filename )
	' ## SAVE FILE TO DISK - 400
	IF Jpeg.OriginalWidth > 400 THEN
		intNewWidth = 400
		IF Jpeg.OriginalWidth > CInt(intNewWidth) THEN
			Jpeg.PreserveAspectRatio = True
			Jpeg.Width = intNewWidth
		END IF
	END IF
	Jpeg.Save Server.MapPath("/files/high_" & File.Filename )
	' ## SAVE FILE TO DISK - 190
	IF Jpeg.OriginalWidth > 190 THEN
		intNewWidth = 190
		IF Jpeg.OriginalWidth > CInt(intNewWidth) THEN
			Jpeg.PreserveAspectRatio = True
			Jpeg.Width = intNewWidth
		END IF
		' ## ADD BLACK BORDER
'		Jpeg.Canvas.Pen.Color = &H000000 ' Black
'		Jpeg.Canvas.Pen.Width = 2
'		Jpeg.Canvas.Brush.Solid = False ' or a solid bar would be drawn
'		Jpeg.Canvas.DrawBar 1, 1, Jpeg.Width, Jpeg.Height
	END IF
	Jpeg.Save Server.MapPath("/files/low_" & File.Filename )
END IF
%>
<!-- #INCLUDE VIRTUAL="/admin/close.asp" -->
<%
response.redirect myPath
%>
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)