Smart Image Processor ASP 2 Support Product Page
Answered
how can I make SIP2 serve images rather than write them to disc?
Asked 17 Sep 2014 08:50:44
1
has this question
17 Sep 2014 08:50:44 Andy Lucas posted:
I want to process images on the fly so when a particular server calls an image SIP2 will add a watermark and serve it directly to the browser rather than saving it to disc, is SIP2 capable of saving to memory and if so how?Server : iis6
Many thanks
Replies
Replied 17 Sep 2014 09:12:11
17 Sep 2014 09:12:11 Teodor Kuduschiev replied:
Hello Andy,
Unfortunately this is not possible with SIP2.
Unfortunately this is not possible with SIP2.
Replied 17 Sep 2014 11:55:28
17 Sep 2014 11:55:28 Andy Lucas replied:
Ok so I have created the next best thing. I use a temp writable folder where SIP2 creates the new overlayed image then using an ADODB.Stream object send it to the browser as image/jpeg, clean up using the FSO
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#include file="../ScriptLibrary/incSIP2Class.asp" --> < %Function CreateGuid() CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38) End Function Function ReadBinaryFile(FileName) Const adTypeBinary = 1 'Create Stream object Dim BinaryStream Set BinaryStream = CreateObject("ADODB.Stream") 'Specify stream type - we want To get binary data. BinaryStream.Type = adTypeBinary 'Open the stream BinaryStream.Open 'Load the file data from disk To stream object BinaryStream.LoadFromFile FileName 'Open the stream And get binary data from the object ReadBinaryFile = BinaryStream.Read End Function dim imgIn imgIn="" if request.querystring("i")<>"" then imgIn=request.querystring("i") dim franid franid="" if request.querystring("fid")<>"" then franid=request.querystring("fid") dim imgname imgname=CreateGuid()&".jpg" Dim sip1 Set sip1 = New ImageProcessor sip1.Key = "75A00BE8-A16F-4F15-B5A7-AF2CBBB3C2FE" sip1.ScriptFolder = "../ScriptLibrary" sip1.Component = "AspNet" sip1.Source = "file" sip1.AutoOrient = false sip1.KeepMetaData = false sip1.Matte = "#FFFFFF" sip1.Load "/upload/"&franid&"/"&imgIn&".jpg" sip1.AddWatermark "/images/PNG/123-overlay-01.png", "Bottom-Right", false, "#000000", "100" sip1.Overwrite = false sip1.Mask = "/upload/tmp/"&imgname sip1.SaveJPEG 100 Set sip1 = Nothing Dim path, gifdata ' Locate the file on disk path = server.mappath("/upload/tmp/"&imgname) ' Read the GIF image data gifdata = ReadBinaryFile(path) ' Send the GIF image to the browser Response.ContentType = "image/jpeg" Response.Buffer = True Response.Clear Response.BinaryWrite gifdata Response.Flush dim fs Set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.FileExists(path) then fs.DeleteFile(path) end if set fs=nothing %>