vbscript - 如何使用经典的 ASP/VBScript 将图像转换为 Base64 字符串并保存到文本文件?
问题描述
我已经坚持了几天了。使用经典的 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)
推荐阅读
- azure-devops - 在 Azure DevOps 中限制项目集合构建服务 ({OrgName}) 的访问
- actionscript-3 - 如何在actionscript 3中更改dataGrid中特定行的背景颜色
- android - 华为 EMUI 10、11 上的应用程序图标问题,只是灰色,无法显示我的应用程序图标
- r - r中的ggplot问题
- solr - Solr 是否尝试读取每个搜索请求的存储字段?
- javascript - Cordova 相机插件计时器选项未在 iPhone 上显示
- python - 解决链式 Python 拼图:
- linux - NodeRED 作为具有 Windows 目录访问权限的 Docker 容器
- python - ModuleNotFoundError:没有名为“flair”的模块
- pandas - 如何从具有多列的熊猫数据框中定义 NetworkX 图