簡體   English   中英

如何將文件(圖像)上傳到NodeJS(以及從NodeJS上傳)

[英]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.filereq.file 如何將該圖像上傳到我的NodeJS(Express)服務器,以便可以將其識別並讀取為圖像? (不需要使用multer ,我只是按照到目前為止找到的說明進行操作。)

我可以通過將base64字符串轉換為blob並將其發送為blob來解決。 現在可以在req.file正確找到該req.file 但是我需要從NodeJS(Express)服務器發送帶有此圖像的發布請求。 FormData在追加中不接受req.filereq.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM