【问题标题】:laravel - saving and accessing an uploaded filelaravel - 保存和访问上传的文件
【发布时间】:2018-03-20 10:53:28
【问题描述】:

我正在研究我下载的一些 laravel 代码,但遇到了一些问题。 这应该是保存,删除和下载文件的功能,但问题是。

文件保存在 "storage\app\public\project-files\" 上的一个以数字命名的文件夹中(即 storage\app\public\ project-files\11),destroydownload 方法都引用了不同的路径,我尝试更改但没有成功,download 显示FileNotFoundExceptiondestroy 只是从数据库中删除,而不是从文件夹中删除

那么这段代码错了吗?它应该是怎样的? 我已经阅读过有关使用 artisan:link 的信息,但每次我想上传文件以创建链接时运行此命令似乎很奇怪

附言。我检查了路线,因此正在调用方法

谢谢

public function store(Request $request)
    {
        if ($request->hasFile('file')) {
            $file = new ProjectFile();
            $file->user_id = $this->user->id;
            $file->project_id = $request->project_id;

            $request->file->store('public/project-files/'.$request->project_id);
            $file->filename = $request->file->getClientOriginalName();
            $file->hashname = $request->file->hashName();

            $file->size = $request->file->getSize();
            $file->save();
            $this->project = Project::find($request->project_id);
            return view('project-files');
    }

public function destroy($id)
    {
        $file = ProjectFile::find($id);
        File::delete('storage/project-files/'.$file->project_id.'/'.$file->hashname);
        ProjectFile::destroy($id);
        $this->project = Project::find($file->project_id);
        return view('project-files');
    }

    public function download($id) {
        $file = ProjectFile::find($id);
        return response()->download('storage/project-files/'.$file->project_id.'/'.$file->hashname);
    }

【问题讨论】:

    标签: php laravel file-upload


    【解决方案1】:

    您正在将文件存储在存储中,因此我假设您已将图像上传到以下路径

    project\storage\app\public\project-files
    

    如果这是路径,那么您可以使用

    删除
     Storage::delete('public/project-files/1.JPG');
    

    用于下载文件

     $path= storage_path('app/public/project-files/3.JPG');
     return response()->download($path);
    

    【讨论】:

    • @Motonio.glade 到这里它帮助你。也更新了下载文件的答案
    猜你喜欢
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    相关资源
    最近更新 更多