本文主要說的是使用asp將base64編碼的圖片給保存到服務(wù)器上。其實像php有base64_encode,aspx也有相關(guān)的函數(shù),就是這個asp需要另僻蹊徑。
代碼主要也是北京網(wǎng)站建設(shè)公司網(wǎng)上整理的,通過xml作為中間人。
picture=saferequest(“picture”,0) ‘將圖片base64編碼的字符串
path=”picture/1.jpg” ‘目標(biāo)保存路徑
xmlstr=”<data>”&picture&”</data>”
‘使用xml方法生成圖片
Dim xml : Set xml=Server.CreateObject(“MSXML2.DOMDocument”)
Dim stm : Set stm=Server.CreateObject(“ADODB.Stream”)
xml.resolveExternals=False
xml.loadxml(xmlstr)
xml.documentElement.setAttribute “xmlns:dt”,”urn:schemas-microsoft-com:datatypes”
xml.documentElement.dataType = “bin.base64″
stm.Type=1 ‘a(chǎn)dTypeBinary
stm.Open
stm.Write xml.documentElement.nodeTypedValue
stm.SaveToFile Server.MapPath(path)
stm.Close
Set xml=Nothing
Set stm=Nothing
以下代碼摘自網(wǎng)上,是將圖片轉(zhuǎn)換為base64
<%
‘測試時同文件夾應(yīng)該包含該圖片文件。
response.Write ImagesToBase64(“12.jpg”)
%>
<%
Function ImagesToBase64(FileName)
Dim xml,root,fs,FilePath,objStream,objXMLDoc
Dim Base64 '定義變量完結(jié) '創(chuàng)建對像
FilePath=Server.MapPath(FileName)
getFileExt = Mid(FilePath, InstrRev(FilePath,".") + 1)
Set objXMLDoc=Server.CreateObject("msxml2.FreeThreadedDOMDocument") '設(shè)定生成XML文檔的根為 Base64Data
objXMLDoc.loadXML "<?xml version='1.0'?><Base64Data />"
Set fs = Server.createObject("Scripting.FileSystemObject") '服務(wù)器需要FSO組件
If fs.FileExists(FilePath) Then '判斷File文件是否存在 '用 stream 來讀取數(shù)據(jù)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open objStream.LoadFromFile FilePath
objXMLDoc.documentElement.dataType = "bin.base64"
objXMLDoc.documentElement.nodeTypedvalue = objStream.Read '數(shù)據(jù)流讀取結(jié)束.得到了值 objXMLDoc
'創(chuàng)建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
%>
留言反饋