问题描述
我已经被这个问题困住了几天。 使用经典的 ASP,我需要获取上传的 .JPG/.PNG 文件并对其进行 base64 编码,以便我可以将其发送到 Java Web 服务。 这是我到目前为止所拥有的:
Function convertimageToBase64(filePath)
'response.write(Server.MapPath("\") & "<br>")
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile(Server.MapPath("\") &"\Upload\5566.txt",true)
Dim inputStream
Set inputStream = CreateObject("ADODB.Stream")
inputStream.Open
inputStream.Type = 1 ' adTypeBinary
inputStream.LoadFromFile filePath
Dim bytes: bytes = inputStream.Read
Dim dom: Set dom = CreateObject("Microsoft.XMLDOM")
Dim elem: Set elem = dom.createElement("tmp")
elem.dataType = "bin.base64"
elem.nodeTypedValue = bytes
convertimageToBase64 = "data:image/png;base64," & Replace(elem.text,vbLf,"")
f.write(convertimageToBase64)
set f=nothing
set fs=nothing
f.close
End Function
convertimageToBase64(RootPath&"/upload/"&Rs("FileName"))
解决方法
在编码之前,您需要将文件读入一个变量。
http://eddiejackson.net/wp/?p=8619
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile(RootPath&"/upload/"&Rs("FileName"),1)
strFileText = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Base64String = convertImageToBase64(strFileText)