Может ли кто-нибудь сказать мне, как декодировать кодированное в base64 изображение в классическом ASP? Изображение кодируется классом Java org.apache base64. Java использует RFC 2045 для декодирования base64.base64 декодер изображений для ASP classic
0
A
ответ
1
Вы можете использовать объект COM Capicom. Я использовал его для обратного (кодирование base64). Это то, что я хотел бы сделать (если у вас есть большой цикл, вы лучше бы CreateObject сделано вне цикла, но в простых случаях это следует делать):
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
Ссылка: http://msdn.microsoft.com/en-us/library/aa388176(v=vs.85).aspx
Кстати, capicom.dll можно загрузить с сайта MS: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6
1
<%
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
%>