【发布时间】:2018-05-01 18:10:05
【问题描述】:
我正在尝试使用 Node.js 中的谷歌云功能来下载 wordpress 存储库的文件,然后将文件发送到谷歌云存储桶中。我下载了 wordpress 文件,但它无法写入谷歌存储桶。
function writeToBucket(jsonObject){
/*
* Google API authentication
*/
var gcs = require('@google-cloud/storage')({
projectId: 'wp-media-cdn',
keyFilename: 'wp-media-cdn-d9d7c61bfad9.json'
});
/*
* rename image file with image size, format: size X size imgName
*/
var pluginUrl = "https://downloads.wordpress.org/plugin/bbpress.2.5.14.zip";
newPluginName = "bbpress";
/*
* Read image into stream, upload image to bucket
*/
var request = require('request');
var fs = require('fs'); //used for createWriteString()
var myBucket = gcs.bucket('test_buckyy'); //PUT BUCKET NAME HERE
var file = myBucket.file(nnewPluginName);
// file.exists() returns true if file already in bucket, then returns file url, exits function
if(file.exists()){
return 'https://storage.googleapis.com/${test_buckyy}/${file}';
}
//pipes image data into fileStream
var fileStream = myBucket.file(newImageName).createWriteStream();
request(imgUrl).pipe(fileStream)
.on('error', function(err) {
console.log('upload failed');
})
.on('finish', function() {
console.log('file uploaded');
});
/*
* return image url
* use getSignedUrl
*/
return 'https://storage.googleapis.com/${test_buckyy}/${file}';
}
【问题讨论】:
-
请发布错误消息。查看日志信息。
-
您好,您找到解决方案了吗?如果是这样,你能补充一个答案吗?
-
我能看到的唯一问题是
newPluginName的错字:var file = myBucket.file(nnewPluginName);
标签: node.js google-cloud-platform google-cloud-functions google-cloud-storage