Rumah > Soal Jawab > teks badan
Saya mempunyai butang hiperpautan pada klik butang ini dan saya ingin mendapatkan imej daripada pangkalan data dan memuat turunnya ke sisi pengguna menggunakan laravel dan vue js. Di bawah ialah kod fail skrip saya
getImage: function() { axios.get('/getImage/' + this.form.cashout_id ) .then(function (r) { const url = window.URL.createObjectURL(new Blob([r.data])); const link = document.createElement('a'); link.href = url; link.setAttribute('download', 'file.'+r.headers.ext); //or any other extension document.body.appendChild(link); link.click(); //hide loader i.loader = false }) .catch(function (error) { alert('Error'); }); },
Sekarang ini kod pengawal saya yang mendapat imej.
public function getimage($id) { $cashout = CashOutDetail::findorfail($id); $storage_date = Carbon::parse($cashout['recorded_date']); return response()->download( storage_path('app/cashoutdetails/'. $storage_date->year .'/' . $storage_date->format('M') . '/'. $cashout->bank_receipt), 'filename.jpg', ['Content-Type' => 'image/jpg'] ); }
Masalahnya ialah imej saya sedang diambil dan dipaparkan dalam tetingkap konsol, tetapi tidak dimuat turun. Ada sesiapa boleh tolong?
P粉3916779212024-03-20 09:28:48
Anda patut mencuba:
axios({ method: 'GET', url: '/getImage/123.jpg', responseType: 'blob', // <-<<<<<<<<<< }).then((response) => { const url = window.URL.createObjectURL(new Blob([response.data])); const link = document.createElement('a'); link.href = url; link.setAttribute('download', '123.jpg'); document.body.appendChild(link); link.click(); });