【问题标题】:How to i convert string to file object?如何将字符串转换为文件对象?
【发布时间】:2021-05-18 04:04:23
【问题描述】:

我从前端发送到服务器的数据格式是字符串格式

例子:

"type": 'application/zip',
"type":"image/png"



 "{"id":"4c1vjx4k1",
      "name":"test.png",
      "type":"image/png",
      "size":151805,"metadata":{},
       "data":"iVBORw0KGgoAAAANSUhEUg }"

在服务器中,我的目标是将其转换回文件对象,因为我必须使用上传 API 将文件对象发送到他们的服务器(我正在使用 cloudinary)

写在这个链接里-https://pqina.nl/filepond/docs/patterns/plugins/file-encode/

let fileAsset = Buffer.from(req.body.fileAsset, "base64");

如何将其转换回文件对象?

【问题讨论】:

  • 字符串格式所以你的意思是 JSON?
  • 是json,但是到了服务端就变成了string。我正在关注此链接中的指南 - pqina.nl/filepond/docs/patterns/plugins/file-encode
  • 看起来(看起来是因为您在这里没有真正给我们正确的minimal reproducible example)就像base64。因此,您需要了解如何将 base64 转换为服务器使用的任何语言的文件 (node?)
  • Base64 似乎是一个非常糟糕的选择来上传文件顺便说一句。为什么不只使用标准的 HTTP 上传方法?由于 base64 过于臃肿,它们的效率可能会大大提高

标签: javascript node.js cloudinary filepond


【解决方案1】:

当您将图像作为 base64 字符串返回时,您只需在字符串前面添加一个标题:

    const image = "data:image/png;base64," + "iVBORw0KGgoAAAANSUhEUg";

那就看你自己了:

  • 如果您想将其下载为 .png 文件。将其转换为 blob,然后创建下载链接。请看this article
  • 如果你想在'img'标签中显示图片,代码是: <img src={image}/>

请参考this page

【讨论】:

    猜你喜欢
    • 2021-02-03
    • 2018-07-19
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多