上传多个文件的最佳策略

时间:2011-12-17 18:14:59

标签: php javascript forms file-upload xmlhttprequest

我有一个可以附加一个或多个(大)文件的表单。我想实现以下目标:

  • 必须向用户显示文件上传进度

  • 用户可以随时中断上传过程

  • 如果在提交表单后其他数据发生错误,则不应再次请求文件;换句话说,即使表格可以多次重新提交,文件也只上传一次

  • 如果文件和表单数据是通过Ajax单独发布的,则应自动清除已上传但未使用的文件

  • 安全注意事项:例如如果文件是单独发送的,那么恶意攻击者不应该通过了解会话ID或浏览器中可用的其他信息来覆盖服务器上的文件

  • 浏览器要求:Safari,Chrome和Firefox的最新版本; IE9是可取的

  • 服务器端:请不要建议第三方框架;解决方案应该是如此通用,以至于任何人都可以用他们喜欢的语言实现它 - Python,Ruby,PHP,Perl等(可能是JavaScript)

考虑到上述情况,实现此功能的一些提示和技巧以及最佳实践是什么?

3 个答案:

答案 0 :(得分:1)

swfupload非常棒。记录良好,效果很好。 http://swfupload.org/

答案 1 :(得分:0)

如果您的用户使用最新版本的浏览器,您可以使用JavaScript进行HTML5文件访问。

你可以在这里查看开始http://www.html5rocks.com/en/tutorials/file/dndfiles/

另外你可以在这里查看我的ruby on rails插件(目前还没有文档,但JS代码相当简单)http://github.com/Ximik/simple_attachments

答案 2 :(得分:0)

我发现这个非常棒,如果你使用jQuery还可以 - http://blueimp.github.com/jQuery-File-Upload/