- Microsoft の ダウンロードセンター で "CAPICOM" で検索してダウンロードします
( タイトルは Platform SDK Redistributable : CAPICOM ) - ダウンロードした CC21INST.EXE を実行すると CAPICOM 2.1.0.1 というディレクトリが作成されます
- CAPICOM 2.1.0.1\x86 の capicom.dll をシステムディレクトリにコピーします
- regsvr32.exe CAPICOM.DLL を実行します
ThreadingModel は both となっていますので、ASP での利用に問題はありません
Base64 の Encode と Decode
<%
Call Response.AddHeader( "Content-Type", "text/html; Charset=shift_jis" )
Set CAPIUtil = Server.CreateObject( "CAPICOM.Utilities" )
strBase = "ABCDEF表示"
strEncoded = CAPIUtil.Base64Encode( strBase )
Response.Write strEncoded & "<br>"
strDecoded = CAPIUtil.Base64Decode( strEncoded )
Response.Write strDecoded & "<br>"
%>
Microsoft のリファレンスは こちら
バイナリデータを Base64 で処理
<!--METADATA TYPE="TypeLib" UUID="{EF53050B-882E-4776-B643-EDA472E8E3F2}" -->
<%
Call Response.AddHeader( "Content-Type", "text/html; Charset=shift_jis" )
Set Stream = Server.CreateObject("ADODB.Stream")
Set CAPIUtil = Server.CreateObject( "CAPICOM.Utilities" )
Stream.Open
Stream.Type = adTypeBinary
Stream.LoadFromFile Server.MapPath( "sample.jpg" )
strFile = CAPIUtil.ByteArrayToBinaryString( Stream.Read )
Stream.Close
strEncoded = CAPIUtil.Base64Encode( strFile )
' バイナリデータを通常文字列として処理
strDecoded = CAPIUtil.Base64Decode( strEncoded )
strFile2 = CAPIUtil.BinaryStringToByteArray( strDecoded )
Stream.Open
Stream.Type = adTypeBinary
Stream.Write strFile2
Stream.SaveToFile Server.MapPath("sample2.jpg"), _
adSaveCreateOverWrite
Stream.Close
%>