Я использую Maatwebsite \ Excel import в Laravel 5.7 для обработки загруженного файла XLSX.После этого процесса я пытаюсь сохранить загружаемый файл.Однако я получаю следующую ошибку:
fopen (): имя файла не может быть пустым в / Users / myuser / workspace / my-application / vendor / laravel / framework / src / Illuminate / Filesystem /FilesystemAdapter.php: 207)
Это мой код:
public function import(ImportActivity $request)
{
$params = [
'creator_id' => auth()->user()->id,
'project_id' => $request->project_id,
'overwrite' => $request->has('overwrite')
];
(new ActivitiesImport($params))->import($request->file('excelFile'));
$filename = 'activity_import_' . str_random(16) . '.' . $request->file('excelFile')->getClientOriginalExtension();
$request->file('excelFile')->storeAs('activities', $filename, 'import_files');
return $this->success();
}
Импорт выполняется правильно.Если я прокомментирую часть импорта, магазин выполнен отлично.Ошибка происходит из-за процесса сохранения ПОСЛЕ импорта.Я также протестировал использование статических вызовов для импорта и хранения с тем же результатом.
Отображая содержимое загруженного файла, я понял, что объект загруженного файла изменяется ($ request-> file ('excelFile')):
Печатная ДО импорта
Печатная ПОСЛЕ импорта
Я не знаю причину этого изменения взагруженный файл объекта.Кроме того, это работает, если я делаю это в обратном порядке, но я хочу сохранить файл, только когда процесс импорта был выполнен правильно.
Может кто-нибудь помочь мне с моей проблемой, пожалуйста?
Заранее спасибо