Laravel链接存储文件夹无法评估

时间:2017-07-17 11:01:38

标签: php laravel

这是我的路线:

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/storagestorage/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和图像显示。

1 个答案:

答案 0 :(得分:3)

问题解决了。

如果您在Windows下创建符号链接,这是解决方案

  

php artisan storage:link不适用于宅基地。代替   删除文件夹,使用在机器上手动重新创建它们   homestead sshln -s ~/projects/my-website/storage/app/public/ ~/projects/my-website/public/storage.

From other question ->Laravel storage can't be accessed