asp中轉(zhuǎn)換base64字符串為圖片、并保存base64字符串為圖片
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
之前用過一個activeX是調(diào)用攝像頭拍照然后生成一段base64編碼的字符串?;蛟S各位會問咋不用flash哩,flash調(diào)用攝像頭代碼多的是,而且用activeX還要regserv什么的。 其實主要原因是因為這個拍照是不為客戶所知道的(猥瑣…)而用flash的話往往會跳出安全設(shè)置,所以就不能達(dá)到這個目的。 好吧,這些是本文討論內(nèi)容之外了,以下主要說的是使用asp將base64編碼的圖片給保存到服務(wù)器上。其實像php有base64_encode,aspx也有相關(guān)的函數(shù),就是這個asp需要另僻蹊徑。代碼主要也是網(wǎng)上整理的,通過xml作為中間人。 picture=saferequest(“picture”,0) ‘將圖片base64編碼的字符串 以下代碼摘自網(wǎng)上,是將圖片轉(zhuǎn)換為base64 <% Set objXMLDoc=Server.CreateObject(“msxml2.FreeThreadedDOMDocument”) Set fs = Server.createObject(“Scripting.FileSystemObject”) ”服務(wù)器需要FSO組件 objXMLDoc.documentElement.dataType = “bin.base64″ Set fs=Nothing ImagesToBase64=Base64 End Function <% <% Function ImagesToBase64(FileName) Dim xml Dim root Dim fs Dim FilePath Dim objStream Dim 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 %> 該文章在 2014/3/25 0:55:48 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |