我正在使用createBlockBlobFromLocalFile()
函数将文件上传到azure-storage
。这是代码,
var azureStorage = require('azure-storage');
var blobUri = "http://accountname.blob.core.windows.net";
var blobService = azureStorage.createBlobServiceWithSas(blobUri, sasKey).withFilter(new azureStorage.ExponentialRetryPolicyFilter());
blobService.createBlockBlobFromLocalFile('container', 'taskblob', 'task1.txt', function(error, result, response) {
if (!error) {
console.log("uploaded");
} else {
console.log(error);
}
});
当我运行上面的代码时,我得到的错误就像
events.js:183 扔掉//未处理的错误'事件 ^
错误:ENOENT:没有这样的文件或目录,请阅读
我的文件路径和代码与
在同一个文件夹中D:\path\upload.js
D:\path\task1.txt
我使用下面的代码检查了文件的可用性,它返回成功,
var fs = require('fs');
if (fs.existsSync('task1.txt')) { }
请有人建议我解决此问题,
更新:错误消息与this question
不同答案 0 :(得分:0)
您是否拥有该文件的读取权限?您可以测试它,例如通过创建文件读取流来读取文件内容。
我使用azure-storage-node@2.8.0测试了以下代码,效果很好。
var blobService = azureStorage.createBlobService(accountName, sasKey).withFilter(new azureStorage.ExponentialRetryPolicyFilter());
blobService.createContainerIfNotExists('mycontainer', function (err, res) {
if (!err) {
blobService.createBlockBlobFromLocalFile('mycontainer', 'taskblob', 'task1.txt', function (error, result, response) {
if (!error) {
console.log("uploaded");
} else {
console.log(error);
}
});
}
});