Вместо того, чтобы загружать и перемещать файл непосредственно в место на сервере, я бы скорее сохранил его в сеансе и загрузил его в состояние в более позднем месте.Laravel: сохранить загруженный файл в сеанс
Вот мой метод, который в настоящее время сохраняет файл на моем сервере:
public function step3store() {
$file = Input::file('file');
$identifier = date("Ymd") . " - " . Session::get('lastName') . "_" . Session::get('firstName');
$destinationPath = base_path() . '/uploads/'. $identifier ;
$extension = $file->getClientOriginalExtension();
$filename = $identifier . " - " . uniqid() . "." . $extension;
$upload_success = Input::file('file')->move($destinationPath, $filename);
if($upload_success) {
return Response::json('success', 200);
} else {
return Response::json('error', 400);
}
}
И я имею в виду использовать что-то вроде этого, вместо:
Session::put([
'file' => Input::get('file'),
]);
Но когда я просматриваю сессии, после того, как Я загрузил файл, я получил значение «null» для «файла».
Поскольку я загружаю несколько файлов на Ajax, я не уверен, что это как-то ломает способ ввода файлов в сеанс.
Итак, как мне сохранить несколько файлов на Ajax в сеанс Laravel?
Заранее спасибо.
Почему вы этого хотите? Хранение файлов в сеансе не является хорошей практикой, почему бы вам не сохранить их в папке temp и выполнять работу cron каждый день, чтобы очистить его? Таким образом, вы можете сохранить временное местоположение на своей сессии, а не файл –
Потому что я использую многошаговую форму. На шаге 3 пользователь загружает изображения. На шаге 4 он платит, и только тогда я хотел использовать реальный серверный ресурс и сохранять на нем фактические файлы, которые на самом деле соответствуют «порядку» – LoveAndHappiness