上传图像未保存在服务器Laravel 5.8的目录中

时间:2019-05-15 12:45:50

标签: php laravel laravel-5

我部署了网站,并且上传的图像上有一个错误,该图像无法保存在目录中

我的目录位于名为 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');    
}

此图像“名称”已保存在数据库中,但未保存此文件,有人不能纠正我的代码吗?

3 个答案:

答案 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');    
}