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
实际存储地址
相关配置
-
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'), ], ],
- .env 中的 APP_URL
APP_URL=http://127.0.0.1:8000
4.通过 php artisan serve 服务
默认情况下 storage 目录是不在 web 访问范围内的,只有 public 文件夹下的内容才可以直接通过 web 访问。如果需要让 /storage/app/uploads 目录直接支持 web 访问。你可以在 public 文件夹下做一个软连接到 uploads 目录