Web APIを使用して、データベースにファイルストリームとして保存されているドキュメントをアップロードするSilverlightアプリケーションがあります。現在はのContent-Type:application/jsonのPOSTによって実行されます。ファイルのバイト配列とファイルに関するメタデータを含むオブジェクトは、JSONにシリアル化され、Web APIにポストされます。 Web APIはバイト配列をFilestreamとしてデータベースに保存します。私はマルチパートのContent-TypeのようPostにこのロジックを変更したいマルチパートリクエストを使用してWeb APIにファイルをアップロード
{"FileContent":"JVBERi0xLjUNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDI3MTg2L08gMTIvRSAyMjYyNi9OIDEvVCAyNjg4NC9IIFsgNDg5IDE2OF0+Pg1lbmRvYmoNICAgICAgICAgICAgICAgICAgDQoyNyAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNC9QcmVkaWN0b3IgMTIg0K","ProductId":"85c98324-092a-4d10-bab0-03912e437234","OrderId":"7b826322-7526-4a69-b67c-5c88a04f4c60","FileName":"test.pdf","FileType":1,"FileDescription":"test"}
:後
は、現在のリクエストのサンプルです。私の要求を形成する最良の方法は何でしょうか?また、Web API Controllerを構成してMultipartリクエストを処理する最良の方法は何ですか?
返信いただきありがとうございます。私は、メタデータと共にファイルを含む私の要求を形成する最良の方法が何であるかを調べることを検討しています。また、私はファイルをSQL DB内のFilestreamファイルに保存することを検討しています。私のコントローラーでこれを行う最善の方法は何でしょうか? –
js uploadのクライアント側サンプルへのリンクを使用して私の回答を更新しました。 filestramの場合は、どのようにデータにアクセスするかによって異なります。 SqlFileStreamを使用してサンプルを確認してください:https://blogs.msdn.microsoft.com/spike/2011/02/28/inserting-a-file-into-a-filestream-table-from-c-and-how/ –
MultipartFormDataStreamProviderを使用すると、Filestreamカラムにファイルを保存する前に一時ディレクトリにファイルを一時的に保存することが最良の方法ですか?また、SilverlightまたはUWPからPOSTを実行している場合、FormDataも使用しますか? –