20

ファイルを受け入れてディスクに書き込むWCFサービスを構築しました。フロントエンドは、クライアント側でアップロードを処理する SWFUpload を含むページで構成されます。どうやら、SWFUpload はコンテンツ タイプが multipart/form-data のデータを投稿します。

これで問題ないと思いますが、サービス側でエラーが発生します。エラーは "ProtocolException" で、text/xml が必要です。バインディングでさまざまなメッセージ エンコーディングを試しましたが、何も機能しないようです。

multipart/form-data を使用してこのファイルをアップロードするにはどうすればよいですか?

4

4 に答える 4

9

@jdiaz、

@JasonS は正しいです。ファイルをアップロードするには、ファイルをバイト ストリームとして転送する必要があります。WCF ストリーミングを使用する必要があります。たとえば、WCF 経由でファイルをアップロードする方法については、 http://kjellsj.blogspot.comの記事を参照してください。

于 2008-09-09T05:40:05.457 に答える
2

標準にしたい場合は、おそらくMTOMを使用してください。これを使用すると、MIME マルチパート メッセージを作成できます。

次に、ファイルをストリームとして読み取り、リクエストのパラメーターの 1 つに詰め込む必要があります。

于 2008-09-09T05:59:22.853 に答える
1

WCF サービスが .NET Framework 3.5 を対象としていて、IIS が .NET Framework 4.0 で実行されている可能性があります。この場合 (フレームワークの不一致)、サービスを変更する必要があります。

于 2011-04-27T05:04:58.233 に答える
0

ファイルをバイト配列として WCF に転送する必要があると思います。サービスに送信する前に、SWFUpload からの投稿を処理し、バイト配列に変換する必要があります。

于 2008-09-09T05:36:34.280 に答える