簡體   English   中英

createBlobFromLocalFile 應該是一個非空字符串 - azure blob 存儲

[英]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.

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