我正在尝试使用Laravel将图像上传到我的数据库,这是我第一次尝试这样做,但我想正确地做到这一点。该文件正确上传到专用文件夹,但当它将其插入数据库时,它使用临时名称而不是用户设置的文件名和扩展名。例如,我想上传一个名为puppy.jpg的文件,但是它将/tmp/phplS7ToN
模型
public function insertPost($input)
{
$validation = new Services\Validators\Post;
if ($validation->passes())
{
return $post = Post::create($input);
$image = Input::file('main_image');
$filename = $image->getClientOriginalName();
$filename = pathinfo($filename, PATHINFO_FILENAME);
$upload = $image->move(Config::get('image.upload_folder'), $filename);
Image::make(Config::get('image.upload_folder') . '/' . $filename)
->resize(Config::get('image.thumb_width'), null, true)
->save(Config::get('image.thumb_folder') . '/' . $filename);
$post->main_image = $filename;
$post->save();
}
答案 0 :(得分:2)
您正在使用此
$filename = $image->getClientOriginalName();
$filename = pathinfo($filename, PATHINFO_FILENAME);
您只能使用此
$filename = $image->getClientOriginalName();
这将返回您想要的文件名。无需使用pathinfo
。