2

JS を介して Google Cloud Storage 経由でファイルを Firebase のストレージに正常にアップロードしました。私が気付いたのは、直接アップロードされたファイルとは異なり、Google Cloud 経由でアップロードされたファイルには、完全な URL ではない保存場所の URL しかないため、読み取ることができないということです。Firebase の実際のストレージの「ダウンロード URL」部分のアップロード時に完全な URL を生成する方法があるかどうか疑問に思っています。

ここに画像の説明を入力

使用されているコード:

    var filename = image.substring(image.lastIndexOf("/") + 1).split("?")[0];
    var gcs = gcloud.storage();
     var bucket = gcs.bucket('bucket-name-here.appspot.com');

     request(image).pipe(bucket.file('photos/' + filename).createWriteStream(
     {metadata: {contentType: 'image/jpeg'}}))
      .on('error', function(err) {})
    .on('finish', function() {



     console.log(imagealt);    


  });
4

2 に答える 2

4

GCloud クライアントを使用する場合、次getSignedUrl()のようにファイルをダウンロードするために使用します。

bucket.file('photos/' + filename).getSignedUrl({
  action: 'read',
  expires: '03-17-2025'
}, function(err, url) {
  if (err) {
    console.error(err);
    return;
  }

  // The file is now available to read from this URL.
  request(url, function(err, resp) {
    // resp.statusCode = 200
  });
});
于 2016-06-16T04:50:30.493 に答える
2

次のいずれかを実行できます。

a) firebase コンソールからダウンロード URL を作成する

新しいダウンロード リンクを作成する

b) firebase クライアントからプログラムで downloadurl を取得しようとすると、その場で作成されます。

于 2016-06-15T01:25:23.580 に答える