欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

laravel文本表单和图片上传表单一起提交,控制器怎么处理?

程序员文章站 2022-05-23 14:28:41
...

下面这个控制器里面是一个示例,它的图片是可有可无的,所以是把图片单独分出来处理。现在想改一下,就是图片必须上传,那么可以把图片和文本一起$request->all()么?怎么修改代码?

public function store(ArticleRequest $request)
{
    $article = new Article($request->except('image'));
    $article -> user_id = Auth::id();

    $picture = "";
    if(Input::hasFile('image'))
    {
        $file = Input::file('image');
        $filename = $file->getClientOriginalName();
        $extension = $file -> getClientOriginalExtension();
        $picture = sha1($filename . time()) . '.' . $extension;
    }
    $article -> picture = $picture;
    $article -> save();

    if(Input::hasFile('image'))
    {
        $destinationPath = public_path() . '/images/article/'.$article->id.'/';
        Input::file('image')->move($destinationPath, $picture);
    }
}

下面是视图:
laravel文本表单和图片上传表单一起提交,控制器怎么处理?

回复内容:

下面这个控制器里面是一个示例,它的图片是可有可无的,所以是把图片单独分出来处理。现在想改一下,就是图片必须上传,那么可以把图片和文本一起$request->all()么?怎么修改代码?

public function store(ArticleRequest $request)
{
    $article = new Article($request->except('image'));
    $article -> user_id = Auth::id();

    $picture = "";
    if(Input::hasFile('image'))
    {
        $file = Input::file('image');
        $filename = $file->getClientOriginalName();
        $extension = $file -> getClientOriginalExtension();
        $picture = sha1($filename . time()) . '.' . $extension;
    }
    $article -> picture = $picture;
    $article -> save();

    if(Input::hasFile('image'))
    {
        $destinationPath = public_path() . '/images/article/'.$article->id.'/';
        Input::file('image')->move($destinationPath, $picture);
    }
}

下面是视图:
laravel文本表单和图片上传表单一起提交,控制器怎么处理?

做异步的上传可好?

相关标签: laravel5.1 php