我正在使用 Laravel 5.2,我想制作一个可以用它上传 pdf 文件的表单。我想将该文件添加到“公共(public)”文件夹中的文件夹"file"中。
这是我的观点:
<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>
接下来我该做什么?我应该在 Controller 和路由中添加什么?
最佳答案
首先你应该添加 enctype="multipart/form-data"
给你的<form>
标签。然后在您的 Controller 中按如下方式处理文件上传:
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.');
}
// ...
}
Link to Laravel Docs for Handling File Uploads
Laravel 将请求中的文件类型参数转换为 UploadedFile
对象。可以看到Symfony的UploadedFile
类 here可用的方法和属性。
关于php - 使用 Laravel 5 上传 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36715776/