使用jQuery破解上传程序以处理大文件

Hacking an uploader to handle large files using jQuery

本文关键字:处理 文件 程序 jQuery 破解 使用      更新时间:2023-12-12

有没有方法可以使用jQuery来提高文件上传器的性能?有一个系统,我试图破解,使上传过程更好。我只是在做一些前端覆盖,因为我没有访问他们服务器文件的权限。

当前的上传程序看起来像这样:

<ul>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
</ul>

使用这种方法的缺点是,你需要逐个选择图片,并且只能上传5个项目。

因此,我在其中一个输入中添加了multiple="multiple"属性,让我可以选择多个项目。

<ul>
<li> <input type="file" multiple="multiple"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
</ul>

通过这样做,我能够上传5个以上的项目(7-8个项目)。我遇到的一个问题是,它无法在长时间的上传中处理大文件。

它只能处理总共只有2MB的图像。但一旦图像总计达到2.5MB左右,它就会一直上传到100%,但最终会返回一个错误。

有没有值得检查的jQuery插件,你觉得会有帮助?我需要我的会话持续到它成功完成上传。我只能使用javascript来覆盖流程,仅此而已。

这不是您可以从客户端更改的内容。上传限制是在服务器上设置的,然后你必须在那里更改阈值(如何取决于你的互联网服务器Apache?IIS?)。

例如,如果使用PHP,可以将PHP.ini中的upload_max_filesize属性设置为所需的值(例如10Mb)。您可以使用.htaccess文件在每个站点的基础上执行此操作(只需在属性名称前加上php_)。

如果您将IIS与ASP.NET一起使用,则可以在System.Web配置下的httpRuntime部分中更改MaxRequestLength(根据需要设置以字节为单位的值)。

无论您设置的值是多少,都会有一个限制,那么当达到该限制时,您也应该通知客户端(例如,IIS只是中止请求)。有几种方法可以实现这一点,我发现其中一种更容易的方法是将上传器放在iframe中,并定期检查文档的readyState属性(您可能需要多写一点代码,说明如何使其跨浏览器)。