4

Javascript json API を使用して Google Storage からファイルをダウンロードしようとしています。以下のコードを使用してオブジェクト情報を取得できますが、実際のメディアを取得する方法がわかりません。私は Java ライブラリ メソッド getMediaHttpDownloader に精通していますが、JS には同等のものはありません。どんな助けでも大歓迎です!

gapi.client.storage.objects.get({"bucket":"bucketName","object":"objectName"});
4

3 に答える 3

0

私はgapiとjQueryを使ってそれをしました。

私の場合、オブジェクトはパブリックです。(ストレージ ブラウザの公開リンクをチェックする必要があります)。オブジェクトを公開したくない場合は、 $.get の代わりに $.post を使用し、他の回答で行われているのとまったく同じように、assess_token をヘッダーとして提供します。
Storage.getObjectInfoオブジェクトのメタデータを取得します。 Storage.getObjectMediaオブジェクトのコンテンツを取得します。

var Storage = function() {};
Storage.bucket = 'mybucket';
Storage.object = 'myfolder/myobject'; //object name, got by gapi.objects.list 



Storage.getObjectMedia = function(object, callback) {
    function loadObject(objectInfo) {
      var mediaLink = objectInfo.mediaLink;
      $.get(mediaLink, function(data) {   //data is actually object content
        console.log(data);
        callback(data);
      });
    }
    Storage.getObjectInfo(object, loadObject);
};
Storage.getObjectInfo = function(object, callback) {
  var request = gapi.client.storage.objects.get({
    'bucket' : Storage.bucket,
    'object' : Storage.object
  });
  request.execute(function(resp) {
    console.log(resp);
    callback(resp);
  });
};

オブジェクトのコンテンツをダウンロードする必要がある場合も比較的まれです。ほとんどの場合、Storage に保存されるオブジェクトは画像や音声などのメディア ファイルであり、実際に必要なのは のみであり、これを適切な dom 要素 (または) の属性値にmediaLink挿入する必要があります。srcimgaudio

于 2015-11-01T08:37:52.990 に答える