asp.net 图片转成base64位流, 怎么转后在转成图片图片显示不全
发布网友
发布时间:2022-04-26 01:24
我来回答
共2个回答
热心网友
时间:2023-10-03 09:06
asp.net图片转base64方法如下,在确保数据完整的情况下是不会有显示不全的情况出现。
<%
Function ImagesToBase64(FileName)
Dim xml
Dim root
Dim fs
Dim FilePath
Dim objStream
Dim objXMLDoc
Dim Base64
''定义变量完结
'创建对像
FilePath=Server.MapPath(FileName)
getFileExt = Mid(FilePath, InstrRev(FilePath, ".") + 1)
Set objXMLDoc=Server.CreateObject("msxml2.FreeThreadedDOMDocument")
'设定生成XML文档的根为 Base64Data
objXMLDoc.loadXML "<?xml version='1.0'?><Base64Data />"
Set fs = Server.createObject("Scripting.FileSystemObject") ''服务器需要FSO组件
If fs.FileExists(FilePath) Then '判断File文件是否存在
'用 stream 来读取数据
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile FilePath
objXMLDoc.documentElement.dataType = "bin.base64"
objXMLDoc.documentElement.nodeTypedvalue = objStream.Read
'数据流读取结束.得到了值 objXMLDoc
'创建XML文件
Set xml = Server.CreateObject("msxml2.FreeThreadedDOMDocument")
xml.load objXMLDoc
If xml.ReadyState>2 Then
Set root=xml.getElementsByTagName("Base64Data")
Base64="<img src=""data:image/"&getFileExt&";base64,"&vbcrlf&root.Item(0).Text&""">"
else
Base64=""
End If
Set xml=Nothing
Set objStream=Nothing
else
Base64=""
End If
Set fs=Nothing
Set objXMLDoc=Nothing
ImagesToBase64=Base64
End Function
%>
热心网友
时间:2023-10-03 09:06
1 创建image对象img
2 将img对象保存到内存流 img.save(ms)
3 调用上面内存流(ms)的方法 ms.ToArray() 转换为byte[]数组
byte[]buffer = ms.ToArray()
4 string base64Str = Convert.ToBase64String(buffer)
最后:<img alt="" src="data:image/jpg;base64,{base64Str}"/>