这是我的路线:
Route::post('/articles/image/upload','ArticleController@imageUpload');
这是我的控制者:
public function imageUpload(Request $request){
$path=$request->file('wangEditorH5File')->store('/');
return asset('storage/'.$path);
}
我使用富文本编辑器允许用户上传他们的图片,所以我必须将文件返回到文本编辑器。
我使用以下方式建立了符号链接:
php artisan storage:link
创建从public/storage
到storage/app/public
的符号链接。
我还在链接
之前将文件系统的默认驱动器从本地更改为公用return [
'default' => env('FILESYSTEM_DRIVER', 'public'),
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
'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'),
],
],
];
设置完毕后,文本编辑器会返回一条错误消息,告诉我无法获取图像的网址。
这意味着我无法访问storage
下的public
文件夹。
我尝试将图片放入css文件夹并更改asset()
功能
public function imageUpload(Request $request){
$path=$request->file('wangEditorH5File')->store('/');
return asset('css/111.jpg');
}
适用于css和图像显示。
答案 0 :(得分:3)
问题解决了。
如果您在Windows下创建符号链接,这是解决方案
php artisan storage:link
不适用于宅基地。代替 删除文件夹,使用在机器上手动重新创建它们homestead ssh
和ln -s ~/projects/my-website/storage/app/public/ ~/projects/my-website/public/storage.