Laravel-ueditor 图片上传问题 ?Laravel Framework 5.4.21

第一次做这种功能,接触 PHP 不久, 请多多指教。

问题描述

用 UEditor 上传图片,图片上传成功(上传到了/storage/app/uploads 目录),也返回了路径,访问报404。
返回URL :

http://127.0.0.1:8000/storage/uploads/image/2017/07/28/d37a866768d2b44909edbbfb217965b0.jpg

实际存储地址

相关配置

  1. config/ueditor.php

    // 存储引擎: config/filesystem.php 中 disks, public 或 qiniu
    'disk' => 'public',
    'route' => [
        'name' => '/ueditor/server',
        'options' => [
            // middleware => 'auth',
        ],
    ],
    
    // 上传 配置
    'upload' => [
        /* 前后端通信相关的配置,注释只允许使用多行方式 */
        /* 上传图片配置项 */
        'imageActionName' => 'upload-image', /* 执行上传图片的action名称 */
        'imageFieldName' => 'upfile', /* 提交的图片表单名称 */
        'imageMaxSize' => 2 * 1024 * 1024, /* 上传大小限制,单位B */
        'imageAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 上传图片格式显示 */
        'imageCompressEnable' => true, /* 是否压缩图片,默认是true */
        'imageCompressBorder' => 1600, /* 图片压缩最长边限制 */
        'imageInsertAlign' => 'none', /* 插入的图片浮动方式 */
        'imageUrlPrefix' => '', /* 图片访问路径前缀 */
        'imagePathFormat' => '/uploads/image/{yyyy}/{mm}/{dd}/', /* 上传保存路径,可以自定义保存路径和文件名格式 */

    2.config/filesystem.php

    'disks' => [
    
        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],
    
        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],
    
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],
    
    ],
  2. .env 中的 APP_URL
    APP_URL=http://127.0.0.1:8000

    4.通过 php artisan serve 服务

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

默认情况下 storage 目录是不在 web 访问范围内的,只有 public 文件夹下的内容才可以直接通过 web 访问。如果需要让 /storage/app/uploads 目录直接支持 web 访问。你可以在 public 文件夹下做一个软连接到 uploads 目录

7年前 评论
讨论数量: 1

默认情况下 storage 目录是不在 web 访问范围内的,只有 public 文件夹下的内容才可以直接通过 web 访问。如果需要让 /storage/app/uploads 目录直接支持 web 访问。你可以在 public 文件夹下做一个软连接到 uploads 目录

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!