0

これは非常に初心者の質問ですが、HttpContext.Current.Request.Files の使用方法に慣れていません。

私の webService Url は次のようになります。

http://127.0.0.1/iisEntry/myApi.asmx

次の Web メソッドにファイルをアップロードする方法について、誰か簡単なコードを作成していただけませんか?

public void AddDocument(String title)
{            
    var action = new AddDocumentAction
                     {
                         File = HttpContext.Current.Request.Files[0],
                         DocumentTitle = title
                     }
    processor.Process(action);
}
4

1 に答える 1

1

HttpContext.Current.Request.Files には、「multipart/form-data」エンコーディング タイプの POST リクエストでアップロードされたファイルが含まれています。ASMX Web サービスは XML/SOAP ベースのリクエストしか処理できないため、この方法でファイルをアップロードすることはできません。

オプションは次のとおりです。

  • byte[] パラメータを Web サービス メソッドに追加し、MTOMが大きなファイルを処理できるようにします。
  • ファイルを受信するために、個別の非 asmx ハンドラー (HttpPostedFileBase を使用した ASP.NET MVC コントローラー/アクション) を追加します。
于 2013-10-01T16:53:28.350 に答える