base64 image decoder for ASP classic

前端 未结 2 1682
-上瘾入骨i
-上瘾入骨i 2021-01-26 03:08

Can any one tell me how to decode a base64 encoded image in classic ASP? The image is encoded by Java org.apache base64 class. The Java uses RFC 2045 for base64 decoding.

相关标签:
2条回答
  • 2021-01-26 03:32

    You can use the Capicom COM object. I've been using it to to the reverse (base64 encoding). This is what I would do (if you've got a big loop, you'd better have the CreateObject done outside the loop, but in simple cases this should do it):

    Function Base64Decode(encodedString)
        Dim caputil : Set caputil = CreateObject("CAPICOM.Utilities")
        If len(encodedString) > 0 Then
            Base64Decode = caputil.Base64Decode(encodedString)
        Else
            Base64Decode = ""
        End If
        Set caputil = Nothing
    End Property
    

    Reference : http://msdn.microsoft.com/en-us/library/aa388176(v=vs.85).aspx

    By the way, capicom.dll can be downloaded from MS site : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6

    0 讨论(0)
  • 2021-01-26 03:36
    <%
    Set objXML = Server.CreateObject("MSXml2.DOMDocument")
    Set objDocElem = objXML.createElement("Base64Data")
    objDocElem.DataType = "bin.base64"
    objDocElem.text = "/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUD"  'encodedString
    
    'Save to disk
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Type = 1
    objStream.Open
    objStream.Write objDocElem.NodeTypedValue
    objStream.SaveToFile "abc.jpg", 2
    set objStream = Nothing
    
    
    'Or send to browser
    Response.ContentType = "image/jpeg"
    Response.AddHeader "Content-Disposition", "attachment; filename=abc.jpg";
    Response.BinaryWrite objDocElem.NodeTypedValue
    
    Set objXML = Nothing
    Set objDocElem = Nothing
    %>
    
    0 讨论(0)
提交回复
热议问题