【问题标题】:Laravel Image Uploading inserting temporary location and filename instead of correct nameLaravel图像上传插入临时位置和文件名而不是正确的名称
【发布时间】:2014-03-06 11:36:35
【问题描述】:

我正在尝试使用 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();          
    }

【问题讨论】:

    标签: php mysql image-processing laravel laravel-4


    【解决方案1】:

    你正在使用这个

    $filename = $image->getClientOriginalName();
    $filename = pathinfo($filename, PATHINFO_FILENAME);
    

    你只能用这个

    $filename = $image->getClientOriginalName();
    

    这将返回您想要的文件名。无需使用pathinfo

    【讨论】:

    • 非常感谢,当时我的教程不正确。一如既往的有用@SheikhHeera :)
    • @MitchGlenn,很高兴为您提供帮助,一切顺利。
    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2021-01-10
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多