上传我使用的文件
Storage::disk('spaces')->putFile('uploads', $request->file, 'public');
该文件已成功保存在数字海洋空间中。但我想将其重命名为user_1_some_random_string.jpg
。然后保存它。
我该怎么做?
答案 0 :(得分:0)
move
方法可用于重命名或移动现有文件到新位置:
Storage::move('hodor/oldfile-name.jpg', 'hodor/newfile-name.jpg');
此外: 如果您不希望将文件名自动分配给存储的文件,则可以使用storeAs方法,该方法接收路径,文件名和(可选)磁盘作为其参数:
$path = $request->file('avatar')->storeAs(
'avatars', $request->user()->id
);
答案 1 :(得分:0)
尝试使用rand()
$ext = $request->file('file')->getClientOriginalExtension();
$name = rand(11111,99999).'.'.$ext;
Storage::disk('spaces')->putFile('uploads', $name, 'public');
答案 2 :(得分:0)
这已经很老了,但我找到了仍然在寻找答案的人。
据我所知,您需要使用putFileAs方法
第一个参数是存储桶/位置。我对此进行了测试,如果您使用“ uploads / testz”,它将创建一个新文件夹,它将在空格的uploads文件夹中创建“ testz”。
第二个参数是请求文件对象,在我的情况下为$ request-> file('file')
第三个参数是您想要存储文件的文件名。我测试了一下,如果您'testz /
public function create(Request $request){ Storage::disk('spaces')->putFileAs('uploads/testz', $request->file('file'), 'mychosenfilename.mydesiredextension');
return redirect()->back();}