const blobServiceClient = await BlobServiceClient.fromConnectionString(connectionString);
const containerClient = await blobServiceClient.getContainerClient(container);
const blockBlobClient = containerClient.getBlockBlobClient(fileName);
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
console.log(uploadBlobResponse);
console.log(`FIle upload successfully on cloud ${uploadBlobResponse.requestId}`);
我正在尝试这样,但是 blockBlobClient.upload() 需要内容,我将文件转换为 base64 并将其发送到内容中,但我遇到了问题,文件已上传但已损坏。请提供任何帮助。
最佳答案
检查 SDK,upload method构造为upload(HttpRequestBody, number, BlockBlobUploadOptions)
,内容为HttpRequestBody,检查其需要的参数
Blob, string, ArrayBuffer, ArrayBufferView or a function which returns a new Readable stream whose offset is from data source beginning.
所以也许你可以尝试 uploadFile ,直接使用文件路径上传即可,我已经尝试过这种方式了。
此外,您可以使用 uploadStream上传文件可读流。
关于node.js - 如何通过 Node.js 在 Azure Blob 存储上上传 PDF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60953163/