0

通过 asmx 网络服务上传文件时出现问题。

这是我的 HTML 代码:

<form method="post" action="/_wscommunity_/PublicCommunity.asmx/UploadTempPicture"      encoding="multipart/form-data" enctype="multipart/form-data" id="form_upload" target="upload_target">
<input type="file" name="file[]" id="file_upload">
<input type="submit" name="action" value="Upload">
<iframe name="upload_target" id="upload_target">&nbsp;</iframe>
</form>

在 OnChange 事件的我的 Javascript 文件中:

$("form_upload").target = 'upload_target'; 
$("form_upload").submit();

提交表单后,我在 POST 中收到:

零件多部分/表单数据

文件[] GIF89a �÷�������3��f����Ì��ÿ�+��+3�+f�+�+Ì�+ÿ�U��U3�Uf� U�UÌ�Uÿ���3�f��Ì�ÿ�ª��ª3�ªf�ª�ªÌ�ªÿ�Õ��Õ3�Õf�Õ�ÕÌ�Õÿ�ÿ��ÿ3�ÿf� ÿ ìf.² 3fÌÿª�ª3ªfªªÌªÿÕ�Õ3ÕfÕÕÌÕÿÿ�ÿ3ÿfÿÿÌÿÿÌ��Ì�3Ì�fÌ�Ì�ÌÌ�ÿÌ+�Ì+3Ì+fÌ+Ì+ÌÌ+ÿÌU�ÌU3ÌUfÌUÌUÌÌUÿÌ�Ì3ÌfÌÌÌÌÿ̪�̪3̪f̪̪Ì̪ÿÌÕ�ÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿ�Ìÿ3ÌÿfÌÿÌÿÌÌÿÿÿ��ÿ�3ÿ�fÿ �®设+3〜+3〜+g+gr+gr. �� ����÷ H° A�*\È0 �;

来源--------------------------292403007321689

Content-Disposition: form-data; name="file[]"; filename="Untitled.gif"
Content-Type: image/gif

GIF89a �÷�������3��f����Ì��ÿ�+��+3�+f�+�+Ì�+ÿ�U��U3�Uf�U�UÌ �Uÿ����3�f��Ì�ÿ�ª��ª3�ªf�ª�ªÌ�ªÿ�Õ��Õ3�Õf�Õ�ÕÌ�Õÿ�ÿ��ÿ3�ÿf�ÿ�ÿÌ 。 f+3f+ff+f+f+ìfu3fufu3fufuìfuγf.f3fff3fff3ffìfª3fª3fª3fª3fªfªfªfªfªfªfªfªfªfªfª �Õ3ÕfÕÕÌÕÿÿ�ÿ3ÿfÿÿÌÿÿÌ��Ì�3Ì�fÌ�Ì�ÌÌ�ÿÌ+�Ì+3Ì+fÌ+Ì+ÌÌ+ÿÌU�ÌU3ÌUfÌUÌUÌÌUÿÌ�Ì3ÌfÌÌÌÌÿ̪�̪3̪f̪̪Ì̪ÿÌÕ�ÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿ�Ìÿ3ÌÿfÌÿÌÿÌÌÿÿÿ��ÿ�3ÿ�fÿ�ÿ� 码 ^+3〜+3〜+f。 ���÷ H° A�*\È0 �; ------------------292403007321689--

最后在我的 asmx webservice 中:

    [WebMethod]
    public AjaxResponse UploadTempPicture()
    {
        AjaxResponse response = new AjaxResponse();
        HttpFileCollection MyFileCollection;
        HttpPostedFile MyFile;
        MyFileCollection = HttpContext.Current.Request.Files;
        MyFile = MyFileCollection[0];
        ....
     }

Web 服务正在调用,但我收到此错误:

System.Web.Services.Protocols.SoapException:System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> System.Exception:上传文件时出现问题:索引超出范围。必须是非负数且小于集合的大小。参数名称:索引

4

0 回答 0