远程图片可以生成base64吗?研究了几天了,找到食材,不会做做菜

菜鸟5 2022-05-12 18:54:32

第一段是获得远程图片输出二进制代码到浏览器的,第二段是本地图片转换成base64的,如何将两个功能合并呢?谢谢大佬

 

<%
dim id
id="https://img-home.csdnimg.cn/images/20201124032511.png"
Response.Buffer = True
Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP") '创建对象
xml.Open "GET",""&id&"",False ' '设置对象
xml.Send '发送请求
if xml.status=200 then
Response.AddHeader "Content-Disposition", "attachment;filename="&id&"" '添加头给这个文件
Response.ContentType = "application/image/*" '设置输出类型
Response.BinaryWrite xml.responseBody '输出二进制到浏览器
end if
Set xml = Nothing
%>
<%
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
%>

<%
'测试时同文件夹应该包含该图片文件。
response.Write ImagesToBase64("1.jpg")
%>

 

...全文
388 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcwtitxu 2022-09-02
  • 打赏
  • 举报
回复
Function ImagesToBase64(url, mime)
    Dim bytes
    With Server.CreateObject("Microsoft.XMLHTTP")
        .Open "GET", url, False
        .Send
        If .Status = 200 Then
            bytes = .ResponseBody
        Else
            ImagesToBase64 = ""
            Exit Function
        End If
    End With
    With Server.CreateObject("Microsoft.XMLDOM").createElement("TXT")  
        .dataType = "bin.base64"  
        .nodeTypedValue = bytes  
        ImagesToBase64 = "<img src=""data:" & mime & ";base64," & .text & """>"  
    End With
End Function
    
Response.Write ImagesToBase64("https://img-home.csdnimg.cn/images/20201124032511.png", "image/png")

```vb.net


```

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧