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或类似的东西。