hen*_*spt 4 php file-upload http laravel laravel-5
我正在使用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>
Run Code Online (Sandbox Code Playgroud)
接下来我该怎么办?我应该在控制器和路线中添加什么?
首先,您应该添加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.');
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
Laravel将请求中的文件类型params转换为UploadedFile
对象.您可以在此处查看Symfony的UploadedFile
类以获取可用的方法和属性.