Commerce Sale of Soft Goods with BinaryRead/BinaryWriteID: Q216521
|
The example provided in the Commerce 3.0 documentation, which allows for the display or download of files that are not in a virtual directory does not work if there is anything else in the .asp page.
The reason for this is because data that is wrapped in a mime type is all sent to the mime handler. When you put text on the page, the mime type is overridden, causing the browser to handle the data itself rather than passing it to a mime handler.
Use the following script in a .asp page by itself for a GIF, JPG, ZIP, or GZ file type:
<%@ LANGUAGE = VBScript %><%The images will display in the page and you will be prompted for the download of the zip file. Note, the name of the file that you are prompted to save is not the file that you did a BinaryRead on, rather it is the same as the .asp page without the extensions.
Set oFile = Server.CreateObject("Commerce.AdminFiles")
' use physical path
bFileContents = oFile.ReadFromBinaryFile("c:\temp\postcard.jpg")
Response.ContentType = "image/pjpeg" Response.BinaryWrite bFileContents%>
BinaryWrites of executables do not work even with the contenttype =
"octet-stream" because of client configurations that automatically attempt
to open the .exe in the browser.
Alternatively the DLL at http://www.microsoft.com/isn/techcenter/downloads/sgDldSvc.exe can be used to
have text in the .asp and download zip files. This control was specifically
designed and tested with zip files in mind.
Additional query words:
Keywords :
Version : winnt:2.0,3.0
Platform : winnt
Issue type : kbprb
Last Reviewed: March 19, 1999