0
我創建具有的NodeJS公共水桶仍然沒有獲得(在ES5/ES6混合道歉,複製谷歌的例子是ES5):谷歌存儲桶是公衆和文件
var gcloud = require('google-cloud');
const gcs = gcloud.storage({
projectId: 'h-212f6',
keyFilename: './h-9a814129651f4.json'
});
const createBucket = (bucketName) => {
// Create a new bucket.
return new Promise((resolve, reject) => {
gcs.createBucket(bucketName, function (err, bucket) {
if (err) {
reject(err);
}
bucket.acl.add({
entity: 'allUsers',
role: gcloud.storage.acl.READER_ROLE
}, function(err, aclObject) {
console.log('err -> ', err);
});
resolve(bucket);
});
});
};
const upload = (bucket, filepath, options) => {
return new Promise((resolve, reject) => {
bucket.upload(filepath, options, function (err, file) {
if (err) {
reject(err);
}
resolve(file)
});
});
};
然而,有麻煩訪問從Chrome中的文件:
UPDATE:
當我更改文件的ACL中的所有似乎工作:
const upload = (bucket, filepath, options) => {
return new Promise((resolve, reject) => {
bucket.upload(filepath, options, function (err, file) {
if (err) {
reject(err);
}
file.acl.add({
entity: 'allUsers',
role: gcs.acl.READER_ROLE
}, function (err, aclObject) {
console.log('err -> ', err);
});
resolve(file)
});
});
};
然而,我的假設下,改變桶ACL應該是足夠了,不是嗎?
你能告訴我們更多關於你在哪裏運行這段代碼嗎?什麼操作具體返回401?第5行的相對路徑是否可行? –
當然可以。嘗試從chrome導航到返回的網址時,在本地運行並獲取錯誤 – Guy