laravel 5.4 上传图片
                            本文介绍了laravel 5.4 上传图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        
问题描述
我在 laravel 5.4 中上传文件的控制器代码:
if ($request->hasFile('input_img')) {if($request->file('input_img')->isValid()) {尝试 {$file = $request->file('input_img');$name = rand(11111, 99999) .'.'.$file->getClientOriginalExtension();$request->file('input_img')->move("fotoupload", $name);} catch (IlluminateFilesystemFileNotFoundException $e) {}}}图片上传成功但代码抛出异常:
<块引用>MimeTypeGuesser.php 第 123 行中的 FileNotFoundException
文件是我的代码有问题还是laravel 5.4的bug,谁能帮我解决问题?
我的查看代码:
</表单>
 解决方案 
试试这个代码.这将解决您的问题.
public function fileUpload(Request $request) {$this->validate($request, ['input_img' =>'必需|图像| mimes:jpeg,png,jpg,gif,svg|max:2048',]);if ($request->hasFile('input_img')) {$image = $request->file('input_img');$name = time().'.'.$image->getClientOriginalExtension();$destinationPath = public_path('/images');$image->move($destinationPath, $name);$this->save();return back()->with('success','图片上传成功');}}My controller code for upload file in laravel 5.4:
if ($request->hasFile('input_img')) {
    if($request->file('input_img')->isValid()) {
        try {
            $file = $request->file('input_img');
            $name = rand(11111, 99999) . '.' . $file->getClientOriginalExtension();
            $request->file('input_img')->move("fotoupload", $name);
        } catch (IlluminateFilesystemFileNotFoundException $e) {
        }
    }
}
Image was successfully uploaded but the code threw an exception :
FileNotFoundException in MimeTypeGuesser.php line 123
The file is there any fault in my code or is it a bug in laravel 5.4, can anyone help me solve the problem ?
My view code:
<form enctype="multipart/form-data" method="post" action="{{url('admin/post/insert')}}">
    {{ csrf_field() }}
    <div class="form-group">
        <label for="imageInput">File input</label>
        <input data-preview="#preview" name="input_img" type="file" id="imageInput">
        <img class="col-sm-6" id="preview"  src="">
        <p class="help-block">Example block-level help text here.</p>
    </div>
    <div class="form-group">
        <label for="">submit</label>
        <input class="form-control" type="submit">
    </div>
</form>
 解决方案 
Try this code. This will solve your problem.
public function fileUpload(Request $request) {
    $this->validate($request, [
        'input_img' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    if ($request->hasFile('input_img')) {
        $image = $request->file('input_img');
        $name = time().'.'.$image->getClientOriginalExtension();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $name);
        $this->save();
        return back()->with('success','Image Upload successfully');
    }
}
这篇关于laravel 5.4 上传图片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
