我正在使用 Laravel 5.2,我想制作一个可以用它上传 pdf 文件的表单。我想将该文件添加到“public”文件夹中的“files”文件夹中。
这是我的观点:
<div class="form-group">
<label for="upload_file" class="control-label col-sm-3">Upload File</label>
<div class="col-sm-9">
<input class="form-control" type="file" name="upload_file" id="upload_file">
</div>
</div>
接下来我应该做什么?我应该在控制器和路线中添加什么?
首先你应该添加enctype="multipart/form-data"
给你的<form>
标签。然后在您的控制器中按如下方式处理文件上传:
class FileController extends Controller
{
// ...
public function upload(Request $request)
{
$uniqueFileName = uniqid() . $request->get('upload_file')->getClientOriginalName() . '.' . $request->get('upload_file')->getClientOriginalExtension());
$request->get('upload_file')->move(public_path('files') . $uniqueFileName);
return redirect()->back()->with('success', 'File uploaded successfully.');
}
// ...
}
用于处理文件上传的 Laravel 文档链接 https://laravel.com/docs/5.2/requests#files
Laravel 将请求中的文件类型参数转换为UploadedFile
对象。你可以看看 Symfony 的UploadedFile
class here https://github.com/symfony/http-foundation/blob/master/File/UploadedFile.php获取可用的方法和属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)