次のコードを含むLaravelでコントローラーを作成しました
$doc = Document::find($id);
if (Storage::disk('local')->exists($doc->path)) {
return Storage::disk('local')->get($doc->path);
}
私のフロントエンドでは、javascript を使用して、次のコードでファイルをプログラムでダウンロードしています (blob を使用しても問題ありませんか、それとも他の方法がありますか?)
async downloadDocument() {
DocService.downloadDoc(this.document.id).then((response) => { // Service that handles ajax call
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", this.document.name);
document.body.appendChild(link);
link.click();
link.remove();
});
},
txt、php ファイルの内容をダウンロードして表示することはできますが、画像、pdf などのファイルをダウンロードしようとすると、ファイルの内容が空であるか読み取れません。