【问题标题】:Upload camera image to server with JavaScript使用 JavaScript 将相机图像上传到服务器
【发布时间】:2021-12-23 17:21:48
【问题描述】:

我正在编写一个网页,用户可以用他的手机相机拍照,然后图像将被处理并存储在服务器中。

我将图像内容存储在 上并用 标签显示它,但我不知道如何将该信息发送到服务器。

【问题讨论】:

标签: javascript file-upload server


【解决方案1】:

我刚刚通过将画布内容转换为 blob 并使用 fetch 将其发送到服务器来解决它:

画布到 blob

someButton.onclick = (e) => {
   //some previous code
    canvas.toBlob(upload)
}

上传功能

function upload(blob) {
    const form = new FormData();
    form.append("img_name",blob)
    fetch("/path/to/api", {
        method:'POST',
        body:form,
    }, ).then(res => res.text()).then(resp => console.log(resp))
}

然后服务器根据需要处理文件。

【讨论】:

  • 您确定服务器会处理 blob 对象吗?在将其发送到服务器之前,我会将其转换为 File 对象。见How to convert Blob to File in JavaScript
  • 就我而言,它工作得非常好。我正在使用 PHP,它被包含在 $_FILES 数组中
猜你喜欢
  • 2016-04-06
  • 2021-04-30
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
相关资源
最近更新 更多