今日、私はSQLバイナリオブジェクトを実験してきました。まず、画像をテーブルに保存し、画像のbase64エンコーディングをAJAXリクエストして、で表示することから始めました。
<img src="data:image/jpeg;base64,' + base64imageReturnedWithAjax + '">')
画像はきれいに表示されます。
私が取り組んでいるWebプロジェクトには、ファイルのダウンロードも必要です(主にPDF)-すばらしいと思います。PDFもSQLバイナリオブジェクトとして保存し、同じ方法でサーバーから収集してから、なんとかして魔法のようにデコードします。もう一方の端でダウンロードするためにそれ。
ヘルプ!
私は最初にjQuerybase64デコーダー(https://github.com/carlo/jquery-base64)を使用してそれをデコードしようとしました:
$.base64.decode(base64fileReturnedWithAjax)
これにより、コンソールで次のエラーが生成されます。
Uncaught Cannot decode base64
_getbyte64
_decode
$.ajax.success
f.Callbacks.o
f.Callbacks.p.fireWith
w
f.support.ajax.f.ajaxTransport.send.d
したがって、私の質問は次のとおりです。これはファイルのダウンロードを処理するための実行可能な方法ですか?もしそうなら、どのように!そうでない場合は、SQLテーブルからファイルをダウンロードできるようにするためのアドバイスされた方法はありますか?
よろしくお願いいたします。ATfPT
編集:それが役立つ場合、これはデータベース(VB.NET内)からファイルを取得して送信するWebメソッドです。Fileblobは、データベース内のバイナリオブジェクトです。
'Having connected to the table
While lrd.Read()
Dim fileBytes = CType(lrd("Fileblob"), Byte())
Dim stream = New MemoryStream(fileBytes, 0, fileBytes.Length)
Dim base64String = Convert.ToBase64String(stream.ToArray())
document.Add(base64String)
End While
Dim serializer As New JavaScriptSerializer()
Dim returnVal As String = serializer.Serialize(document)
Return returnVal