通过asmx webservice上传文件时遇到问题。
这是我的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"> </iframe>
</form>
在我的OnChange事件的Javascript文件中:
$("form_upload").target = 'upload_target';
$("form_upload").submit();
当我提交表单时,我会在POST中收到:
零件multipart / form-data
file [] GIF89a ÷3fÌÿ++ 3 + F ++ I +ÿUU3UfUUÌ Uÿ3fÌÿªª3ªfªªÌªÿÕÕ3ÕfÕÕÌÕÿÿÿ3ÿfÿÿÌ ÿÿ3333f33Ì3ÿ3+ 3 + 33 + F3 + 3 + I3 +ÿ3U3U33Uf3U3UÌ3Uÿ3333f33Ì3ÿ3ª3ª33ªf3ª3ªÌ3ªÿ3Õ3Õ33Õf3Õ3ÕÌ3Õÿ3ÿ3ÿ33ÿf3ÿ3ÿÌ3ÿÿff3ffffÌfÿf+ F + 3F + FF + F + IF +ÿfUfU3fUffUfUÌfUÿff3ffffÌfÿfªfª3fªffªfªÌfªÿfÕfÕ3fÕffÕfÕÌfÕÿfÿfÿ3fÿffÿfÿÌfÿÿ3fÌÿ++ 3 + F ++ I +ÿUU3UfUUÌUÿ3fÌÿªª3ªfªªÌªÿÕ Õ3ÕfÕÕÌÕÿÿÿ3ÿfÿÿÌÿÿÌÌ3ÌfÌÌÌÌÿÌ+ I + 3I +网络+ I + II +ÿÌUÌU3ÌUfÌUÌUÌÌUÿÌÌ3ÌfÌÌÌÌÿ̪̪3̪f̪̪Ì̪ÿÌÕÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿÌÿ3ÌÿfÌÿÌÿÌÌÿÿÿÿ3ÿfÿÿÌÿ YY + Y + 3 +fÿ+ÿ+ÿÿ+ÿÿU ÿU3ÿUfÿUÿUÌÿUÿÿ ÿ3ÿfÿÿÿÿÿÿÿÿÿÿ ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ , ÷H°A * \È0 ;
来源 ----------------------------- 292403007321689
Content-Disposition: form-data; name="file[]"; filename="Untitled.gif"
Content-Type: image/gif
的GIF89a ÷3fÌÿ++ 3 + F ++ I +ÿUU3UfUUÌ Uÿ3fÌÿªª3ªfªªÌªÿÕÕ3ÕfÕÕÌÕÿÿÿ3ÿfÿÿÌ ÿÿ3333f33Ì3ÿ3+ 3 + 33 + F3 + 3 + I3 +ÿ3U3U33Uf3U3UÌ3Uÿ3333f33Ì3ÿ3ª3ª33ªf3ª3ªÌ3ªÿ3Õ3Õ33Õf3Õ3ÕÌ3Õÿ3ÿ3ÿ33ÿf3ÿ3ÿÌ3ÿÿff3ffffÌfÿf+ F + 3F + FF + F + IF +ÿfUfU3fUffUfUÌfUÿff3ffffÌfÿfªfª3fªffªfªÌfªÿfÕfÕ3fÕffÕfÕÌfÕÿfÿfÿ3fÿffÿfÿÌfÿÿ3fÌÿ++ 3 + F ++ I +ÿUU3UfUUÌUÿ3fÌÿªª3ªfªªÌªÿÕ Õ3ÕfÕÕÌÕÿÿÿ3ÿfÿÿÌÿÿÌÌ3ÌfÌÌÌÌÿÌ+ I + 3I +网络+ I + II +ÿÌUÌU3ÌUfÌUÌUÌÌUÿÌÌ3ÌfÌÌÌÌÿ̪̪3̪f̪̪Ì̪ÿÌÕÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿÌÿ3ÌÿfÌÿÌÿÌÌÿÿÿÿ3ÿfÿÿÌÿ YY + Y + 3 +fÿ+ÿ+ÿÿ+ÿÿU ÿU3ÿUfÿUÿUÌÿUÿÿ ÿ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];
....
}
网络服务正在通话但我收到此错误:
System.Web.Services.Protocols.SoapException:System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---&GT; System.Exception:上传文件时出错:索引超出范围。必须是非负数且小于集合的大小。 参数名称:index