表单文件发布到Web服务方法不起作用

时间:2010-10-09 14:57:56

标签: web-services asmx

我正在尝试将一个HTML表单发布到Asp .Net Web服务方法。一切似乎都有效,但Web方法中的请求对象上没有任何表单或文件。任何想法?

Html表格

<form id="formPost" action="service/Post" enctype="multipart/form-data" method="post">
    Post File <input id="uploadfile"    type=file />
    <input type=submit value="Post" />
</form>

网络服务

[WebMethod]
    public void Post()
    {        
        // file collection of uploaded files in the http context
        HttpFileCollection Files = this.Context.Request.Files;

        // always 0 and no form either
        if (Files.Count > 0)
        {}
    }

1 个答案:

答案 0 :(得分:2)

您无法使用html表单发布到SOAP Web服务方法。当您提交表单数据时,使用multipart/form-data编码数据,而Web服务需要SOAP信封和text/xml内容类型。为了调用Web服务,您需要从WSDL生成代理类,并使用此代理类来调用所需的方法。