我正在使用自定义ashx处理程序来处理文件上传。在本地运行时,文件上传很好。
当我在Web服务器上使用相同的设置时,出现"Index out of range"
错误。
在firebug中,我在post数据中看到文件的二进制内容,文件名也在查询字符串中传递。
以前见过这个吗?
我确定它的东西很小,但它把我推到了墙上。
更新:取得了一些进展。我发现我有两个不同的错误。一个来自FF / Chrome,一个来自IE。我现在专注于FF,因为firebug使调试更容易。现在我收到错误“无法找到路径的一部分'C:\ inetpub \ wwwroot \'”
更新2 :在FF / Chrome中使用此功能。原来IE和FF / Chrome发布的数据不同。
更新3:以下是IE开发工具中网络探查器的输出:
Request header:
Key Value
Request POST /Secured/UploadHandler.ashx? HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer http://cms.webstreet.co.il/Secured/fileUpload.aspx
Accept-Language he-IL
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Content-Type multipart/form-data; boundary=---------------------------7db13b13d1b12
Accept-Encoding gzip, deflate
Host cms.webstreet.co.il
Content-Length 262854
Connection Keep-Alive
Cache-Control no-cache
Request body:
-----------------------------7db13b13d1b12
Content-Disposition: form-data; name="qqfile"; filename="P-Art_Page_Digital.jpg"
Content-Type: image/jpeg
<Binary File Data Not Shown>
---------------------------7db13b13d1b12--
答案 0 :(得分:2)
请参阅原始问题附带的(大)评论和回复列表。不知道为什么它现在有效,但Elad似乎已经解决了他的问题。
答案 1 :(得分:2)
您必须指定名称标签。
<input id="File1" name="file1" type="file" />
答案 2 :(得分:0)
我非常确定文件上传不能通过Ajax完成;你需要使用常规表格。
还要确保在表单标记上正确设置了enctype属性。