В настоящее время я работаю над функцией загрузки, которая позволяет пользователям загружать файлы (всех типов), которые они загрузили. Функция загрузки работает (так как файлы отображаются в моей папке загрузок, а тип файла зарегистрирован на изображении, которое отображается рядом с именем файла), однако по какой-то причине все загруженные файлы считаются поврежденными или неверный формат.
Топор ios запрос (внутри метода):
downloadFile(file) {
axios.get(window.routes.files.download.replace("_id_", file.id), {
headers: {
'Content-Type': 'multipart/form-data',
'Accept': 'application/vnd.ms-excel'
}
})
.then(function(response){
if (!window.navigator.msSaveOrOpenBlob){
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', file.name);
document.body.appendChild(link);
link.click();
}else{
const url = window.navigator.msSaveOrOpenBlob(new Blob([response.data]),file.name);
}
console.log(response.data);
})
.catch(function(error){
console.error(error);
if (!!error.response) console.log(error.response);
});
},
Laravel маршрут:
Route::get('files/{file}', 'FileController@downloadSomeFile')->name('files.download');
Мой контроллер:
public function downloadSomeFile($id)
{
$downloadFile = File::find($id);
Storage::download(str_replace('/File', '', $downloadFile->path));
}
Есть ли способ это исправить?
Ниже приведен пример сообщения, которое я получаю при попытке открыть загруженный файл: