window.fetch を使用してファイルをダウンロードするにはどうすればいいですか? 質問する

window.fetch を使用してファイルをダウンロードするにはどうすればいいですか? 質問する

ファイルをダウンロードしたい場合は、then下のブロックで何をすればよいですか?

function downloadFile(token, fileId) {
  let url = `https://www.googleapis.com/drive/v2/files/${fileId}?alt=media`;
  return fetch(url, {
    method: 'GET',
    headers: {
      'Authorization': token
    }
  }).then(...);
}

注: コードはクライアント側にあります。

ベストアンサー1

これはより短くて効率的で、ライブラリは不要でAPIを取得するだけです。

const url ='http://sample.example.file.doc'
const authHeader ="Bearer 6Q************" 

const options = {
  headers: {
    Authorization: authHeader
  }
};
 fetch(url, options)
  .then( res => res.blob() )
  .then( blob => {
    var file = window.URL.createObjectURL(blob);
    window.location.assign(file);
  });

このソリューションでは、ダウンロードしたファイルのファイル名を変更することはできません。ファイル名はランダムな UUID になります。

おすすめ記事