我有一个允许上传图像的表单。然而,到目前为止我的代码并不局限于图像。
请让我知道如何执行此操作(也许在提交时使用 JavaScript 警报框),或者我的最佳解决方案是让浏览窗口仅显示 jpg gif 和 png 图像,而不是默认的“所有文件”。
谢谢!
<input name="images[]" value="" type="file" class="textfield" />
您无法控制浏览器文件上传表单中显示的内容。最好的选择是对文件扩展名实施一些客户端或服务器端验证。
您可以使用JavaScript来验证文件扩展名,也必须在服务器端进行验证。
另一个选择是您可以尝试 SWFUpload - 一个用于上传文件的 flash JS 库。它具有在上传到服务器之前验证文件类型和文件大小的功能。 http://swfupload.org/
现在所有浏览器都很好地支持这一点。
请参阅:https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
只需将accept=".fileext,mime-type" 添加到输入元素即可。
例如对于 jpeg 图像
<input name="images[]" value="" type="file" class="textfield" accept=".jpg,.jpeg,image/jpeg" />
应该完成工作。