JavaScript:上传文件
比方说,我在页面上有这个元素:
<input id="image-file" type="file" />
这将创build一个button,允许网页的用户通过浏览器中的“文件打开…”对话框select一个文件。
假设用户点击所述button,在对话框中select一个文件,然后点击“确定”buttonclosures对话框。
所选的文件名现在存储在:
document.getElementById("image-file").value
现在,假设服务器处理URL为“/ upload / image”的多部分POST。
如何将文件发送到“/ upload / image”?
另外,如何收听file upload完成的通知?
除非你想使用ajax上传文件,否则只需将表单提交到/upload/image
。
<form enctype="multipart/form-data" action="/upload/image" method="post"> <input id="image-file" type="file" /> </form>
如果你想在后台上传图片(比如不提交整个表格),你可以使用ajax:
- asynchronousfile upload(AJAXfile upload)使用jsp和javascript
- jQuery Ajaxfile upload
- 使用file upload的Ajax
如果你实际上是在寻求一种纯粹的JavaScript方式来上传图片,那么从2009年开始的以下教程将告诉你如何做到这一点:
http://igstan.ro/posts/2009-01-11-ajax-file-upload-with-pure-javascript.html
当我想要将表单提交添加基本身份validation而不启用cookie时,我遇到了这个问题。 例如,当你有你的文件名,文件等字段的用户名/密码字段。
希望这可以帮助!
作为它的创造者,我有偏见;)但是你也可以考虑使用像https://uppy.io这样的东西。; 它可以上传文件而不需要从页面导航,并提供一些奖励,如拖放,浏览器崩溃/片状networking恢复上传,以及从Instagram导入。 它也是开源的,不依赖jQuery或类似的东西。