Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(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..
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @bd int -- Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.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 -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.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-2024 Chilkat Software, Inc. All Rights Reserved.