douyao3895 2017-12-01 07:21
浏览 157
已采纳

Laravel Driver []不受支持

FileSystem :

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        'shares' => [
            'driver' => 'local',
            'root' => public_path('shares'),
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],

    ],

My controller :

public function store(Request $request) {
        $rules = [
            'user_id'           => 'required|exists:users,id',
            'patient_case_id'   => 'required|exists:patient_cases,id',
            'shared_with'       => 'required|exists:users,id',
        ];

        $this->validate($request, $rules);

        $data = $request->all();
        $data['shared_file'] = $request->file('file')->store('shares/'.$data["user_id"], $data["shared_file"]->getClientOriginalName());

        $newShare = WayneRooney::create($data);
        return $this->showOne($newShare, 201);
    }

if i leave store method empty, it works and writes file in shares folder in public path with a unique id. But i want to write file with original name under the shares/{USER_ID} folder.

how can i do this ?

  • 写回答

1条回答 默认 最新

  • douxuan3095 2017-12-01 07:34
    关注

    If you would not like a file name to be automatically assigned to your stored file, you may use the storeAs method, which receives the path, the file name, and the (optional) disk as its arguments:

    $path = $request->file('avatar')->storeAs(
         'avatars', $request->user()->id
    );
    

    you may also use the putFileAs method on the Storage facade, which will perform the same file manipulation as the example above:

    $path = Storage::putFileAs(
         'avatars', $request->file('avatar'), $request->user()->id
    );
    

    Hope this fixed your issue!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧