asp中转换base64字符串为图片、并保存base64字符串为图片
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
之前用过一个activeX是调用摄像头拍照然后生成一段base64编码的字符串。或许各位会问咋不用flash哩,flash调用摄像头代码多的是,而且用activeX还要regserv什么的。 其实主要原因是因为这个拍照是不为客户所知道的(猥琐…)而用flash的话往往会跳出安全设置,所以就不能达到这个目的。 好吧,这些是本文讨论内容之外了,以下主要说的是使用asp将base64编码的图片给保存到服务器上。其实像php有base64_encode,aspx也有相关的函数,就是这个asp需要另僻蹊径。代码主要也是网上整理的,通过xml作为中间人。 picture=saferequest(“picture”,0) ‘将图片base64编码的字符串 以下代码摘自网上,是将图片转换为base64 <% Set objXMLDoc=Server.CreateObject(“msxml2.FreeThreadedDOMDocument”) Set fs = Server.createObject(“Scripting.FileSystemObject”) ”服务器需要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 ‘‘定义变量完结 ‘创建对像 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 %> 该文章在 2014/3/25 0:55:48 编辑过 |
关键字查询
相关文章
正在查询... |