我正在尝试使用laravel Storage上传文件,即
$request->file('input_field_name')->store('directory_name');
但是它使用随机字符串名称将文件保存在指定目录中。
现在我想用自定义名称保存上传的文件,即当前时间戳与实际文件名连接。是否有任何最快速,最简单的方法来实现此功能。
答案 0 :(得分:10)
改为使用storeAs()
:
$request->file('input_field_name')->storeAs('directory_name', time().'.jpg');
答案 1 :(得分:3)
您可以使用以下代码:
使用文件外观
.stop{
position: absolute;
top: 45%;
left: 32%; //set this according to ur requirement
width: 100%;
font-size:20px;
}
在您的代码中进行以下更改
use Illuminate\Http\File;
详细信息:Laravel Filesystem和storeAs由@Alexey Mezenin提及
希望这段代码有用:)
答案 2 :(得分:2)
您也可以尝试这样
$ImgValue = $request->service_photo;
$getFileExt = $ImgValue->getClientOriginalExtension();
$uploadedFile = time()'.'.$getFileExt;
$uploadDir = public_path('UPLOAS_PATH');
$ImgValue->move($uploadDir, $uploadedFile);
谢谢,
答案 3 :(得分:2)
尝试以下工作:
$image = time() .'_'. $request->file('image')->getClientOriginalName();
$path = base_path() . '/public/uploads/';
$request->file('image')->move($path, $image);
答案 4 :(得分:1)
你也可以试试这个。
$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;
}