2017-07-25 17 views
0

node.jsアプリケーションから画像をアップロードすると、パブリックリンクが利用可能になっているので画像が公開されます。私は、画像をアップロードしたい は個人Google Cloud Storageの[共有する]設定をfalseにして、ファイル名の前にチェックボックスを表示するには

const storage = Storage({ 
    projectId: config["googleProjectID"] 
}); 

for (var key in CLOUD_BUCKET){ 
    bucketReference[key] = storage.bucket(CLOUD_BUCKET[key]); 
} 
const gcsname = "your."+extension; 
if(bucketReference[tag]){ 
    file = bucketReference[tag].file(gcsname); 
    } 

これはBASEURL/bucket_name/your.jpegで画像をアップロードしているが、公共のリンクが利用可能であり、誰もがURLに貼り付けると、Gmailで署名することによってそれを見ることができます。

アップロード時にパブリックリンクではなくチェックボックスを表示したい(私たちが手動でストレージにアップロードしたときのように)。

解決にお役立てください。

答えて

0

答えが見つかりました!

const stream = file.createWriteStream({ 
    metadata: { 
     contentType: "image/jpeg", 
    }, 
    predefinedAcl: "bucketOwnerRead"//shows no checkbox since project owner has reader access and no one accept object owner can see images 
    predefinedAcl: "bucketOwnerFullControl" //shows a checkbox and only shows the image to those who are project owners 
    }); 

"predefinedAcl"がキーです。 アップロード中にイメージを公開または非公開にします。

これは、プロジェクトチームのオーナーに、ログイン後にURLを公開したり、シークレットでURLを表示することのみを許可します。

関連する問題