【问题标题】:React save temporary file反应保存临时文件
【发布时间】:2019-03-14 07:11:30
【问题描述】:

我的 react 前端中有一个 base64 数据,我想将其转换为 img 文件(png、jpeg 等)并将其保存到服务器端临时文件夹(称为 tmp)。

最终,我想生成一个 url www.mywebsite.com/tmp/myImage.png,我想将它传递给 Opengraph 元标记。

我尝试过使用 tmpbase64-img 等库,但我无法在我的 react 前端组件中使用它们。

如何从我的 react 前端调用服务器端函数?

将base64数据转换为图像文件并将其保存在我的服务器中的最佳方法是什么。

【问题讨论】:

  • 将数据从客户端发布到您的服务器,并使用您链接的库之一将其转换为服务器上的图像。
  • @James 我会用 express 来做吗?
  • 并不 have 是 Express,特别是如果这是您希望拥有的唯一端点。我会使用built-in HTTP support

标签: node.js reactjs api serverside-javascript


【解决方案1】:

在您的后端,保存到文件非常简单:

// where "yourBase64Data" is the incoming base64 image from the POST request.
let imagePath = 'yourPath/tmp/yourImage.jpg';
require("fs").writeFile(imagePath, yourBase64Data, 'base64', function (err) {
    if (err) {
        //handle error
    }
}

然后在你的前端,当你检索它时,你可以像这样解码并显示它:

let base64Image = “iVBORw0KGggANSbCAIAA...”;

var img = document.createElement("img");
img.src = 'data:image/jpeg;base64,' + base64Image;

document.body.appendChild(img);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2023-04-09
    • 2013-11-25
    • 1970-01-01
    相关资源
    最近更新 更多