2011-02-07 3 views

Répondre

1

Vous pouvez utiliser l'objet COM Capicom. Je l'ai utilisé à l'envers (encodage base64). Ce est ce que je ferais (si vous avez une grande boucle, vous feriez mieux d'avoir le CreateObject fait en dehors de la boucle, mais dans les cas simples, cela devrait le faire):

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 

Référence: http://msdn.microsoft.com/en-us/library/aa388176(v=vs.85).aspx

Par ailleurs, capicom.dll peut être téléchargé à partir du site 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 
%>