【发布时间】:2017-08-14 11:49:21
【问题描述】:
我想使用 Firebase 函数调整存储在 Firebase 存储中的图像的大小。
基于 Firebase 团队提供的这个示例:https://github.com/firebase/functions-samples/blob/master/quickstarts/thumbnails/functions/index.js 我尝试编写一个由数据库事件触发的函数。
这是代码中最有趣的部分:
exports.myFunction = functions.database.ref('...').onWrite(event => {
...
// Create thumbnails
createThumbnail(1, ...);
createThumbnail(2, ...);
createThumbnail(3, ...);
...
return; // <- Is this necessary ?
});
function createThumbnail(...) {
...
return bucket
.file(originalFilepath)
.download({
destination: tempFilePath
})
.then(() => {
console.log('OK');
...
// Generate a thumbnail using ImageMagick.
return spawn('convert', [tempFilePath, '-thumbnail', dimension + 'x' + dimension + '>', tempFilePath])
.then(() => {
....
// Uploading the thumbnail.
return bucket.upload(tempFilePath, {
destination: thumbnailUrl
})
.then(() => {
...
// Save thumbnailUrl in database
return admin.database().ref(...).set(thumbnailUrl);
});
});
});
}
在我看来一切都很好。但是代码永远不会转到console.log('OK');,我收到此错误:
Error: read ECONNRESET
at exports._errnoException (util.js:1026:11)
at TCP.onread (net.js:569:26)
有人知道可能是什么错误吗?
谢谢
【问题讨论】:
标签: node.js firebase firebase-storage