我部署了网站,并且上传的图像上有一个错误,该图像无法保存在目录中
我的目录位于名为 files 的文件夹的public_html
中。
在localhost上没有问题,但是在我部署它之后,我有了它。
我的本地主机上的控制器(没有这样的问题)
public function store6(Request $request)
{
$this->validate($request, [
]);
if ($request->hasfile('image'))
{
$file = $request->file('image');
$name=$file->getClientOriginalName();
$file->move(public_path().'/files/', $name);
$data = $name;
}
$user = new pemeliharaan;
$id = Auth::user()->id;
$user->user_id = $id;
$user->alat_id = $request->alat_id;
$user->pertanyaan =json_encode($request->except
(['_token','name','alat_id','status','catatan','image']));
$user->catatan = $request->catatan;
$user->image=$data;
$user->status = $request->status;
$user->save();
// dd($user);
return redirect('user/show6')->with('success', 'Data Telah Terinput');
}
此图像“名称”已保存在数据库中,但未保存此文件,有人不能纠正我的代码吗?
答案 0 :(得分:0)
如果files
文件夹位于项目的根路径中,而不位于Laravel安装的public
文件夹中,则需要使用base_path
助手而不是{ {1}}助手来移动您的文件。
public_path
答案 1 :(得分:0)
尝试此代码
"StatusReportingSettings"
如果没有链接,请不要忘记运行if ($request->hasfile('image')) {
$file = $request->file('image');
$name = $file->getClientOriginalName();
$imagePath = $file->storeAs('/files/' . $name . '', 'public');
}
。
答案 2 :(得分:0)
替换您的代码
public function store6(Request $request)
{
$this->validate($request, [
//your validation code
]);
if ($request->image != ''){
$path = 'files/';
$file = $request->file('image');
$name=$file->getClientOriginalName();
$file->move($path, $name);
$data = $name;
}
$user = new pemeliharaan;
$id = Auth::user()->id;
$user->user_id = $id;
$user->alat_id = $request->alat_id;
$user->pertanyaan =json_encode($request->except
(['_token','name','alat_id','status','catatan','image']));
$user->catatan = $request->catatan;
$user->image=$data;
$user->status = $request->status;
$user->save();
// dd($user);
return redirect('user/show6')->with('success', 'Data Telah Terinput');
}