反应保存临时文件

时间:2019-02-11 23:12:46

标签: node.js reactjs api serverside-javascript

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

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

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

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

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

1 个答案:

答案 0 :(得分: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);