dポイントプレゼントキャンペーン実施中!

base64でエンコードされた画像ファイルを表示したいと思っています。
basp21でデコードして、BinaryWriteで書き出したんですがうまく表示できません。
CAPICOMを使った場合は正しく表示されます。
basp21でデコードする際になにか処理をはさむ必要があるのでしょうか?
以下作成したサンプルソースです。
---ソース------------------------------------------
<%@ Language="VBScript" %>
<%
Set Stream = Server.CreateObject("ADODB.Stream")
Set CAPIUtil = Server.CreateObject( "CAPICOM.Utilities" )
Set objBasp = Server.CreateObject("basp21")

strEncoded = "/9j/kL・・base64でエンコードされたJpegファイル"

strDecoded = CAPIUtil.Base64Decode( strEncoded )
strDecoded2 = objBasp.Base64(strEncoded, 1)

Response.ContentType = "image/jpeg"
'Response.BinaryWrite strDecoded
'Response.BinaryWrite strDecoded2

%>
---------------------------------------------ここまで-----
以上よろしくお願いいたします。

A 回答 (1件)

※確認したわけではないので違ってたらごめんなさい



画像ファイルをデコードとのことですので
Base64の引数は7ではないでしょうか?
strEncodedの形式も変えなければいけませんが。。。

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html#0039

この回答への補足

すみません。言葉足らずでした。
ファイルではなく文字列でデータを受け取っているので。。。

strDecoded形式を変換が必要とのことなので変換しようとしてみましたがイマイチうまくいきませんでした。
一応下記の関数で変換してみたんですが(ちゃんと出来てるかどうかは不明^^;)
CAPIUtil.BinaryStringToByteArray(strDecoded)
この場合でも画像は表示されませんでした。

テスト環境ではCAPICOMが使えるんですが、本番環境では使えないため
(入れてもらうというのも一つの手ではあるんですが)、使わずに動作できるようにしたいと思っています。


見当はずれなこと言っていたらすみません。。。

補足日時:2007/06/29 19:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!