javascript - 发布文件是否需要 <form> 标签和按钮?

标签 javascript file post input file-upload

我在我的 webapp 的标题中有一个选项来选择带有 <input type='file'/> 的文件,我希望在选择文件后立即开始将其上传到我的本地 nodejs 服务器。

是否需要封装在带有POST属性的标签中,并通过按钮确认?和/或者是否可以在选择文件而不是使用按钮时立即调用 POSTing?

最佳答案

您为 <input type="file" id="input"> 设置了一个 onchange 事件榆树。

Javascript

let input = document.getElementById('input');
input.onchange = function(e) { 
  if (file.files.length > 1) {
     // Upload
  }
};

在选定文件的表单值出现并且我们的 onchange 之后事件被触发。然后我们使用 Fetch post 发布文件。

Example

const input = document.getElementById('input');

function upload(file) {
  fetch('http://', {
    method: 'POST',
    headers: {
      'Content-type': 'file-type'
    },
    body: file
  }).then(() => {

  }).catch((error) => {
    // Errors
    console.log('Log the error, since we are demoing');
  })
}

let chosen = () => {
    try {
       upload(input.files[0]);
    } catch(error) {

    }
}

input.addEventListener('change', chosen, false);
<input type="file" id="input" />

关于javascript - 发布文件是否需要 <form> 标签和按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55399846/

相关文章:

javascript - 多个三元运算符嵌套在

javascript - 如何使用获取值的提示动态地将选项添加到选择菜单

javascript - 在 JavaScript 中克隆一个对象

file - 什么是 .nsh 文件?找不到它的任何文档

javascript - 如何从 iframe 内部提交表单并将结果放在外部

javascript - 遍历 HTML 表并过滤某些列值

c - 在 C 中合并文本文件

尝试读取文件时出现 java.lang.NullPointerException

用于新文件创建和目录创建的 HTTP PUT

php - 上传文件时克服主机对 PHP/POST 数据的最大文件大小限制?