我正在尝试使用laravel Storage上传文件,即 $request->file('input_field_name')->store('directory_name'); 但是它使用随机字符串名称将文件保存在指定目录中 .
$request->file('input_field_name')->store('directory_name');
现在我想用 custom name 保存上传的文件,即当前时间戳与实际文件名连接 . 是否有任何最快速,最简单的方法来实现此功能 .
请改用storeAs():
$request->file('input_field_name')->storeAs('directory_name', time().'.jpg');
您可以使用以下代码:
Use File Facade
use Illuminate\Http\File;
Make Following Changes in Your Code
$custom_file_name = time().'-'.$request->file('input_field_name')->getClientOriginalName(); $path = $request->file('input_field_name')->storeAs('directory_name',$custom_file_name);
更多细节:Laravel Filesystem和storeAs由@Alexey Mezenin提及
希望这段代码能帮助:)
你也可以这样试试
$ImgValue = $request->service_photo; $getFileExt = $ImgValue->getClientOriginalExtension(); $uploadedFile = time()'.'.$getFileExt; $uploadDir = public_path('UPLOAS_PATH'); $ImgValue->move($uploadDir, $uploadedFile);
谢谢,
尝试以下工作:
$image = time() .'_'. $request->file('image')->getClientOriginalName(); $path = base_path() . '/public/uploads/'; $request->file('image')->move($path, $image);
你也可以试试这个 .
$originalName = time().'.'.$file->getClientOriginalName(); $filename = str_slug(pathinfo($originalName, PATHINFO_FILENAME), "-"); $extension = pathinfo($originalName, PATHINFO_EXTENSION); $path = public_path('/uploads/'); //Call getNewFileName function $finalFullName = $this->getNewFileName($filename, $extension, $path); // Function getNewFileName public function getNewFileName($filename, $extension, $path) { $i = 1; $new_filename = $filename . '.' . $extension; while (File::exists($path . $new_filename)) $new_filename = $filename . '_' . $i++ . '.' . $extension; return $new_filename; }
5 回答
请改用storeAs():
您可以使用以下代码:
Use File Facade
use Illuminate\Http\File;
Make Following Changes in Your Code
更多细节:Laravel Filesystem和storeAs由@Alexey Mezenin提及
希望这段代码能帮助:)
你也可以这样试试
谢谢,
尝试以下工作:
你也可以试试这个 .