[英]How to upload file (image) to NodeJS (and from NodeJS)
我有以下代碼:
const formData = new FormData();
formData.append("filedata", myImage);
fetch("/extension/api/uploadtofb", {
method: "POST",
body: formData
})
如果myImage
是圖像的base64字符串表示形式(dataURL),則multer
認為它不是文件,而是文本。 因此,它是在req.body
找到的,而不是在req.file
中req.file
。 如何將該圖像上傳到我的NodeJS(Express)服務器,以便可以將其識別並讀取為圖像? (不需要使用multer
,我只是按照到目前為止找到的說明進行操作。)
我可以通過將base64字符串轉換為blob
並將其發送為blob
來解決。 現在可以在req.file
正確找到該req.file
。 但是我需要從NodeJS(Express)服務器發送帶有此圖像的發布請求。 FormData在追加中不接受req.file
或req.file.buffer
。 如何將收到的Blob轉換為FormData可以接受並隨POST請求發送的格式?
我認為,如果第一個問題能夠解決,第二個問題也會解決。
您可以直接上傳base64圖像數據
var base64Data = JSON.parse(res.body).data;
var filename = "test.png";
var base64_attachement = base64Data.replace(/-/g, '+').replace(/_/g, '/').replace(/ /g, '+');
filepath = (__dirname + './../../public/temp');
if (!fs.existsSync(filepath)) {
fs.mkdirSync(filepath, 0744); //Set Folder Permission
}
filepath = filepath + '/' + _filename;
//TempFilePath
require("fs").writeFile(filepath, base64_attachement, 'base64', function (err) {
console.log(err);
return cb(filepath);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.