php - Laravel 应用存储图片加载失败并重定向到 404

标签 php image laravel

我在共享托管服务器上托管 laravel 应用程序。
服务器上有2个文件夹:

  • 1) laravelapp -> 包含 (app,config,database,vendor...etc 文件夹)
  • 2) public_html -> 包含 (css,js,images,storage 文件夹)

  • 我使用下面的代码上传图片:
     if($request->hasFile('file')){
         $filenameWithExt=$request->file('file')->getClientOriginalName();
         $filename=pathinfo($filenameWithExt,PATHINFO_FILENAME);
         $extension=$request->file('file')->getClientOriginalExtension();
         $fileNameToStore=str_slug($filename,'_').'_'.time().'.'.$extension;
         request()->file->move(public_path('storage/profile'), $fileNameToStore);
         $image="/storage/profile/".$fileNameToStore;
    }
    

    上传文件成功到laravelapp/public/storage/profile文件夹

    我创建了指向 laravelapp/public/storage 的符号链接(symbolic link)与 public_html/storage
    在数据库中:图像路径保存为 /storage/profile/user1.png
    在我使用的 Blade 模板中:<img src="{{$img}}" />
    但是 imageurl :

    www.mydomain.com/storage/profile/user1.png redirect to 404 page and image not displaying .



    任何人请帮我解决问题。

    最佳答案

    这在共享托管服务器上对我有用:

    编辑您的 config/filesystems.php并修改public像这样的部分

    'public' => [
            'driver' => 'local',
            'root' => storage_path(),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ]
    

    请注意, storage_path() 不接受任何参数。现在删除 storage您的 public 中的文件夹目录如果已经存在,则执行:
    php artisan storage:link
    

    关于php - Laravel 应用存储图片加载失败并重定向到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49489549/

    相关文章:

    javascript - Laravel 无法上传图片

    php - 如何从laravel中的中间表中获取数据?

    python - 如何从图片中提取单词的单个图像?

    JavaFX Builder 1.0 无法打开文件

    php - 查明PHP内存不足错误的确切原因(…是var_dump())

    css - 如何通过 laravel mix 将两个 SASS 文件合并到一个 CSS 文件中?

    php - 如何上传图片到mysql表

    php - laravel Route::resource() 在/create 路由中使用 show() 而不是 create()

    php - 如何对多维数组中的特定键进行求和和计数

    带有标签的 Javascript/HTML5 图像查看器