BLOBフィールド(Officeの.docファイルなど)を含むOracleデータベースからデータを取り出す際に、Webサービス経由で送るために何か特別な処理を行う必要がありますか?Webサービス:BLOBフィールド
文字列のように送信され、文字列をバイト配列に変換してファイルに書き込んで、クライアント側の.docファイルを再作成しようとしています。
正しいアプローチは何ですか?
BLOBフィールド(Officeの.docファイルなど)を含むOracleデータベースからデータを取り出す際に、Webサービス経由で送るために何か特別な処理を行う必要がありますか?Webサービス:BLOBフィールド
文字列のように送信され、文字列をバイト配列に変換してファイルに書き込んで、クライアント側の.docファイルを再作成しようとしています。
正しいアプローチは何ですか?
質問からは分かりませんが、がのデータを持っており、Webサービスで公開する必要があります。 SOAPなどに関しては、byte[]
を返すか、byte[]
をDTOに公開するなどの簡単な操作が可能です。フィールドが大きい場合は、MTOM(WSE3)および/またはWeb圧縮を考慮する必要があります。
So:OracleはBLOBをどのように公開していますか? byte[]
でない場合は、LINQのBinary
クラスのようなもので、データへのカプセル化されたアクセスを提供します(この場合はToArray()
)。 string
が公開されている場合はとなります。はベース64にエンコードされています。 Convert.FromBase64String
を実行してみてください。
バイトストリームをbase64でエンコードする必要があります。
WCFまたは従来のSOAPを使用していますか? –
従来のSOAP – pistacchio