Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(SQL Server) Decode Base64 Image String (GIF, JPG, etc.) and Save to FileI have an XML response that includes a base 64 encoded image string (UPS label). It's a huge string and I need to save it as a gif file on my users pc. This example shows how to do it..
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @bd int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.BinData', @bd OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- I created an extra-small GIF image for this example.. DECLARE @success int EXEC sp_OAMethod @bd, 'LoadFile', @success OUT, 'qa_data/gif/xsmall.gif' IF @success <> 1 BEGIN PRINT 'Failed to load GIF image file.' EXEC @hr = sp_OADestroy @bd RETURN END -- Show GIF bytes as base64: EXEC sp_OAMethod @bd, 'GetEncoded', @sTmp0 OUT, 'base64' PRINT @sTmp0 -- This particular GIF in base64 is this: -- R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7 -- Let's begin with an XML string: DECLARE @x nvarchar(4000) SELECT @x = '<abc><def>R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7</def></abc>' DECLARE @xml int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Xml', @xml OUT EXEC sp_OAMethod @xml, 'LoadXml', @success OUT, @x -- Get the base64 string: DECLARE @gifBase64 nvarchar(4000) EXEC sp_OAMethod @xml, 'GetChildContent', @gifBase64 OUT, 'def' PRINT @gifBase64 -- Load bd with the base64 decoded bytes. EXEC sp_OAMethod @bd, 'Clear', @success OUT EXEC sp_OAMethod @bd, 'AppendEncoded', @success OUT, @gifBase64, 'base64' -- Save to a GIF file. EXEC sp_OAMethod @bd, 'WriteFile', @success OUT, 'qa_output/xsmall.gif' EXEC @hr = sp_OADestroy @bd EXEC @hr = sp_OADestroy @xml END GO |
© 2000-2020 Chilkat Software, Inc. All Rights Reserved.