我不想将文件直接上传并移动到服务器上的某个位置,而是将其保存到会话中,并在稍后根据条件上传。
这是我当前将文件保存到我的服务器的方法:
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 会话中?
提前致谢。
会话仅适用于小型、琐碎的数据,不适用于图像等大量数据和文件。
像平常一样将图像存储在一个目录中,然后如果用户填写了表单,则将它们移动到另一个目录。有一个定期运行的“垃圾收集”脚本,可以在用户一段时间后未完成表单的情况下清除第一个目录中的所有图像。
你的句子“只有那时我才想使用真正的服务器资源”是没有意义的,就好像你要将文件保存到会话中一样still使用您服务器的资源。会话被写入磁盘。如果您要将文件作为 BLOB 存储到数据库中,也会发生同样的情况(也不要这样做)。您仍在使用服务器的资源。因此,将文件保存到会话的理论并不会停止使用服务器的资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)