3 回答
TA贡献1799条经验 获得超6个赞
首先,如果你想存储图像,那么你应该使用laravel 的存储功能来存储它。让我只向您展示上传图像并将其保存在数据库中的代码。
if($request->hasFile('file')){
$file = $request->file('file');
$fileName = time().$file->getClientOriginalName();
Storage::put('public/file'.$fileName,file_get_contents($file));
//file is uploaded and now you can store the name of the file in database
}
请添加到use Storage控制器文件的顶部。
现在您可以通过以下方式访问它:
<img src="{{asset('storage/file'.$namefromdatabase)}}" >
php artisan storage:link在上传存储目录中的图片之前不要忘记运行此命令
TA贡献1869条经验 获得超4个赞
public function save(Request $request)
{
$insert=[];
request()->validate(['file' => 'required|mimes:doc,docx,pdf,txt,jpeg,jpg|max:2048',]);
if ($files = $request->file('fileUpload')) {
$destinationPath = 'public/file/'; // upload path
$profilefile = date('YmdHis') . "." . $files->getClientOriginalExtension();
$files->move($destinationPath, $profilefile);
$insert['file'] = "$profilefile";
}
$check = Document::insertGetId($insert);
return Redirect::to("file")
->withSuccess('Great! file has been successfully uploaded.');
}
这段代码中定义了$insert,请尝试一下。
TA贡献1785条经验 获得超8个赞
看这一行:
$insert['file'] = "$profilefile";
这表示,在可能关联的数组中,名为 的$insert
键的元素从现在开始'file'
将具有值。"$profilefile"
您的代码崩溃了,因为$insert
未初始化。显然 PHP 的解释器没有你聪明,不知道这$insert
应该是一个关联数组。你需要有一条类似的线
$insert = [];
这会将 insert 定义为数组。请注意,必须在将值赋给 的元素之前执行此行$insert
。
- 3 回答
- 0 关注
- 91 浏览
添加回答
举报