Rev 5513 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'=====================================================' Download a BOM attachment'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/config.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><%' Set rfile parameter. This is a return page after LoginCall objPMod.StoreParameter ( "rfile", "Bom_Home.asp" )'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><%'------------ Variable Definition -------------Dim sFileNameDim sPathDim newIDDim retErrCode'------------ Constants Declaration -----------'------------ Variable Init -------------------parBom_id = Request("bom_id")'----------------------------------------------%><%'----------------------- MAIN LINE ---------------------------'--- Process submition ---If (parBom_id <> "") ThenDim sNameDim OraParametersSet OraParameters = OraDatabase.ParametersOraParameters.Add "Name" , Empty,ORAPARM_OUTPUT, ORATYPE_VARCHAR2OraParameters.Add "ContentType" , Empty,ORAPARM_OUTPUT, ORATYPE_VARCHAR2OraParameters.Add "PartImage" , Empty,ORAPARM_OUTPUT, ORATYPE_BLOBDim blobSqlblobSql = "BEGIN select DATA, NAME, CONTENTTYPE INTO :PartImage, :Name, :ContentType from BOM_ATTACHMENTS where BOM_ID=" & parBom_id & "; END;"' Response.write "Sql:" & blobSqlOraDatabase.ExecuteSQL (blobSql)' Response.write "<br>Name:" & OraParameters("Name").Value'Get OraBlob from OraDynasetDim PartImageset PartImage = OraDatabase.Parameters("PARTIMAGE").Value'Set Offset and PollingAmount property for piecewise Read operationPartImage.offset = 1PartImage.PollingAmount = PartImage.Sizechunksize = 50000'Do the first read on PartImage, buffer must be a variantDim AmountReadDim chunksizeDim bufferAmountRead = PartImage.Read(buffer, chunksize)'Response.write "<br>DataType:" & TypeName(buffer)'Response.write "<br>Data:" & AmountRead '& ":" & bufferResponse.Buffer = trueResponse.ClearResponse.ContentType = OraParameters("ContentType").ValueResponse.AddHeader "Content-Disposition", "attachment; filename=""" & OraParameters("Name").Value & """"Response.FlushResponse.BinaryWrite buffer' Check for the Status property for polling read operationWhile PartImage.Status = ORALOB_NEED_DATAAmountRead = PartImage.Read(buffer, chunksize)'Response.write "<br>Data:" & AmountRead '& ":" & bufferResponse.BinaryWrite bufferWendResponse.FlushCall Destroy_All_ObjectsResponse.EndElseResponse.write "Some mendatory parameters are missing!" & "<br>" 'TODOResponse.write QSTR_AllEnd IfCall Destroy_All_Objects%>