如何将文件上载到Asmx Web Service操作

时间:2013-10-01 16:39:38

标签: c# web-services http asmx

这是一个非常初学的问题,但我不熟悉如何使用HttpContext.Current.Request.Files

让我假装我的webService Url:

http://127.0.0.1/iisEntry/myApi.asmx

有人可以提供一些关于如何将文件上传到以下网络方法的快速代码吗?

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

1 个答案:

答案 0 :(得分:1)

HttpContext.Current.Request.Files包含使用“multipart / form-data”编码类型的POST请求上传的文件。 ASMX Web服务只能处理基于XML / SOAP的请求,因此您无法以这种方式上传文件。

选项包括:

  • 将byte []参数添加到Web服务方法,并enable MTOM处理大文件。
  • 添加单独的非asmx处理程序(ASP.NET MVC Controller / Action with HttpPostedFileBase)以接收文件。