[英]createBlobFromLocalFile should be a non-empty string - azure blob storage
我正在嘗試將文件上傳到 azure blob 存儲。 我在后端接收它,但我不斷收到錯誤createBlobFromLocalFile should be a non-empty string
我正在接收文件,正如您在控制台輸出中看到的那樣,但我不明白為什么我不能發送它到 blob 存儲。我嘗試用req.file, req,file.path, req.file.destination + filename
替換名為blob string
的第二個參數,但無法讓它將文件存儲在 blob 中。我感謝任何幫助!
應用程序.js
app.post("/api/fileupload", checkAuth, upload, (req, res, next) => {
console.log("req.file below");
console.log(req.file);
blobService.createBlockBlobFromLocalFile('testcontainer', req.file, "image.png", function (error, result, response) {
console.log(response);
if (!error) {
// file uploaded
}
});
});
控制台輸出
req.file below
{ fieldname: 'file',
originalname: 'blob',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'public/uploads/',
filename: '18af517e9a94b2bdab02c7169b8b88a7',
path: 'public\\uploads\\18af517e9a94b2bdab02c7169b8b88a7',
size: 39367 }
TypeError: Parameter blob for function _createBlobFromLocalFile should be a non-empty string
根據documentation
,這應該是本地文件的路徑(字符串值),而您將對象作為此參數的值傳遞。
但是,如果您使用file.path
變量,它仍然無法工作,因為它告訴您本地計算機上的文件路徑,而不是運行 Node.js 代碼的服務器。 您需要指定文件在服務器上的路徑。
幾天前我回答了一個問題,其中使用了formidable
包來解析提取文件內容的請求。 雖然答案是針對較新版本的 SDK,但您可以使用它來查看服務器上的本地文件路徑是如何被識別的。 您可能會發現它很有用: 如何將圖像和文件上傳到 Azure Blob Node.js。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.