![](/img/trans.png)
[英]Upload Files to Azure Storage from Azure Function - Nodejs
[英]Upload files to Azure Storage from Azure VM
我在Node.JS中有一些代碼,可以從用戶那里獲取文件並將其上傳到我的Blob存儲中。
我使用帶有以下代碼的azure-storage
軟件包:
blobSvc.createBlockBlobFromLocalFile('t-uploads', 'high/' + file.name, './tmp/storage/' + file.name, function(error, result, response) {
console.log("did come here", error, result, response);
if (!error) {
console.log(response);
fs.unlink('./tmp/storage/' + file.name);
} else {
console.log(error);
next(new Error("Azure High Resolution Error!"));
}
});
問題是,當我從c9.io運行該代碼時,該代碼有效,但當我在Azure VM上使用相同的代碼時,該代碼不運行。
日志(從Azure VM):
trumptcore-2 at auth
trumptcore-2 upload authed
trumptcore-2 at rename: baracuda new.jpg
trumptcore-2 after remote
trumptcore-2 { files: { files: [ [Object] ] }, fields: {} }
trumptcore-2 { container: 'storage',
trumptcore-2 name: '3736f0ab_baracuda new.jpg',
trumptcore-2 type: 'image/jpeg',
trumptcore-2 originalFilename: 'baracuda new.jpg',
trumptcore-2 size: 30065 }
trumptcore-2 it is image
trumptcore-2 outside resize
trumptcore-2 Web server listening at: http://0.0.0.0:3000
trumptcore-2 Browse your REST API at http://0.0.0.0:3000/explorer
沒有任何錯誤,但我的節點api重新啟動
日志(來自c9.io):
Web server listening at: http://0.0.0.0:8080
Browse your REST API at http://0.0.0.0:8080/explorer
at auth
upload authed
at rename: baracuda.jpg
after remote
{ files: { files: [ [Object] ] }, fields: {} }
{ container: 'storage',
name: 'e1ddeb85_baracuda.jpg',
type: 'image/jpeg',
originalFilename: 'baracuda.jpg',
size: 30400 }
outside resize
{ isSuccessful: true,
statusCode: 201,
body: '',
headers:
{ 'transfer-encoding': 'chunked',
'content-md5': 'NwLTR4gRnN/6GyPETR5MWw==',
'last-modified': 'Sun, 28 Aug 2016 11:33:43 GMT',
etag: '"0x8D3CF372A628D41"',
server: 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0',
'x-ms-request-id': '65eb3380-0001-00a5-2020-01fdd4000000',
'x-ms-version': '2015-12-11',
'x-ms-request-server-encrypted': 'false',
date: 'Sun, 28 Aug 2016 11:33:43 GMT',
connection: 'close' },
md5: undefined }
{ isSuccessful: true,
statusCode: 201,
body: '',
headers:
{ 'transfer-encoding': 'chunked',
'content-md5': 'bX2AWHEjxMY2r5yta2ChIQ==',
'last-modified': 'Sun, 28 Aug 2016 11:33:43 GMT',
etag: '"0x8D3CF372A90378B"',
server: 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0',
'x-ms-request-id': 'e1cbc742-0001-010a-3f20-019911000000',
'x-ms-version': '2015-12-11',
'x-ms-request-server-encrypted': 'false',
date: 'Sun, 28 Aug 2016 11:33:43 GMT',
connection: 'close' },
md5: undefined }
更新資料
我在所有失敗的位置嘗試了此代碼
fs = require('fs')
fs.readFile('./tmp/storage/' + file.name, 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
});
因此,我可以在azure vm和c9.io上成功讀取文件。 因此可能不是本地權限問題。
不好意思,抱歉,上載完成后,正是啞巴pm2重新啟動了我的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.