由于本地IE7(和其他一些浏览器,还没有检查,准确地说)不使用<input multiple="" />
参数,我很想知道是什么…对于一个输入字段,多个文件上传,最兼容的解决方案(取决于偏好,是,是)。
如果解决方案中没有涉及JavaScript,那就太好了,但我不知怎么地有这种奇怪的感觉,那是不可能的-如果我错了,请纠正我。
提前感谢!
允许多个文件上传的最兼容浏览器的纯HTML方法是简单地有多个:
<input type="file" />
你可以选择使用Java或Flash上传器——但这些可能比JavaScript更不兼容。
JavaScript 优雅地降级可能是你最好的选择,看看Valum的File-Uploader。该库允许您使用:
- 如果浏览器支持,通过upload form元素上传多个文件。
- 如果浏览器支持拖放文件上传
- 如果浏览器禁用了JavaScript,则降级为HTML输入表单元素。
为最新的浏览器开发,同时支持旧的浏览器(而不是相反),这是一个很好的实践。如果用户使用的是较旧的浏览器,或者没有启用JavaScript,那么无论你怎么做,多个文件上传都将是痛苦的。
我们的世界还没有给予我们这样的工具/控制……
但我认为最好的你会得到,如果你不想使用任何客户端技术(如javascript或Flash),是让用户上传一个文件与一个正常的POST,然后以某种方式(也许在你的会话)记住用户上传的文件,或者只是保存它们到数据库,因为他们进来。
所以过程是:
- 用户选择文件并上传;
- 显示图像并询问它们是否存在想上传另一个文件;
- ,然后你给他们一个选择去
可能不是最好的方法,但它应该可以工作
然后,如果你愿意使用Javascript或Flash,有大量的脚本可以让你上传多个文件。也许找一个只给出一个输入并填充选定图像列表的?