我有一个可以附加一个或多个(大)文件的表单。我想实现以下目标:
必须向用户显示文件上传进度
用户可以随时中断上传过程
如果在提交表单后其他数据发生错误,则不应再次请求文件;换句话说,即使表格可以多次重新提交,文件也只上传一次
如果文件和表单数据是通过Ajax单独发布的,则应自动清除已上传但未使用的文件
安全注意事项:例如如果文件是单独发送的,那么恶意攻击者不应该通过了解会话ID或浏览器中可用的其他信息来覆盖服务器上的文件
浏览器要求:Safari,Chrome和Firefox的最新版本; IE9是可取的
服务器端:请不要建议第三方框架;解决方案应该是如此通用,以至于任何人都可以用他们喜欢的语言实现它 - Python,Ruby,PHP,Perl等(可能是JavaScript)
考虑到上述情况,实现此功能的一些提示和技巧以及最佳实践是什么?
答案 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/