【发布时间】:2017-12-01 15:34:02
【问题描述】:
文件系统:
'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'),
],
],
我的控制器:
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);
}
如果我将 store 方法留空,它会工作并将文件写入公共路径的共享文件夹中,并具有唯一的 ID。但我想在 share/{USER_ID} 文件夹下使用原始名称写入文件。
我该怎么做?
【问题讨论】:
-
您的意思是使用
storeAs(...)而不是store(...)?你使用的是哪个版本的 Laravel? -
@sisve 是的,我找到了 :) 谢谢 sisve。如果你愿意,你可以写成答案
-
试试
putFileAs或storeAs()?