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 服务

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

7年前 评论
讨论数量: 1

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

7年前 评论

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