经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望)
我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输?
出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。
但是,您可以发布标准HTML表单,并将表单目标设置为页面上不可见的iframe。然后,该iframe可以使用服务器端代码来处理上传。
如果您使用AJAX的原因是因为文件上传时需要进度条,则可以使用服务器端静态变量存储文件上传进度,然后使用AJAX简化操作,对另一个HTTP页面的定时请求,该页面仅返回上传进度。