お世話になっております。
ajaxでリクエストを送り、
バックエンドで「Intervention Image」を利用して画像を加工したものを
ローカルにダウンロードしたいのですが、
加工した画像データをblobに変換することができず詰まっておりました。
Intervention Imageにstreamで返却する関数などもあるとのことで
やってみてたのですが、
フロントに戻ってきた時点で文字化けしてしまいという状況でした。
どなたかお助けしていただけないでしょうか。
よろしくお願いします。
javascript
javascript
1$.ajax({ 2 type: 'GET', 3 url: '/export/img', 4 data: { 5 'img_type': imgType 6 }, 7 headers: { 8 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 9 } 10 }).done((response) => { 11 const blob = new Blob([response], {type: 'image/png'}); 12 const filename = 'test.png' 13 const downloadUrl = (window.URL || window.webkitURL).createObjectURL(blob); 14 const link = document.createElement('a'); 15 link.href = downloadUrl; 16 link.download = filename; 17 link.click(); 18 (window.URL || window.webkitURL).revokeObjectURL(downloadUrl); 19 }).fail(() => { 20 $("#errorModal").modal("show"); 21 }); 22
backend(controller)
php
1public function export(Request $request) 2 { 3 // 画像生成処理 4 $img = $this->service->createImg($request->img_type); 5 return $img->stream('png')->__toString(); 6 } 7} 8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。