首页 > 解决方案 > 如何在经典 ASP 中将字符串转换为字节数组

问题描述

我正在尝试下载经典 ASP 中的文件。请找到以下代码

set fileDownloadResponse = WebService_FileDownload(FileUri.Value)
Response.ContentType = admindata("FileType")//type getting from SQL column
Response.Addheader "Content-Disposition", "attachment;filename=""" & FileName & """"
Response.BinaryWrite(fileDownloadResponse.value)//**fileDownloadResponse.value** 

Byte[]从代码返回,但是当它进入 ASP 页面时,它显示为字符串...我想将字符串转换为字节数组并将该数组传递给Response.BinaryWrite(need to pass byte).

标签: vbscriptasp-classic

解决方案


尝试使用ADO 流对象

Const adTypeBinary = 1
Response.Buffer = False
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
objStream.Open
' depends on what fileDownloadResponse is 
' you might need to use .Read(), .ReadText() or .LoadFromFile()
objStream.ReadText fileDownloadResponse.value 
Response.ContentType = "application/x-unknown" ' what kind of file it is?
Response.Addheader "Content-Disposition", "attachment; filename=""" & FileName & """"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing

推荐阅读