Laravel将图像保存到公用文件夹?

时间:2017-03-06 11:02:43

标签: image laravel laravel-5 laravel-5.3

所以我试图将上传的图像保存到laravel / public文件夹并返回src,这样就是保存文件的路径,但是在选择图像后没有任何反应,我没有错误,可能出错了什么? / p>

public function testing(Request $request) {
    if(Input::file())
    {
        $image = Input::file('img');
        $filename = time() . '.' . $image->getClientOriginalExtension();
        $path = public_path('images/' . $filename);
        Image::make($image->getRealPath())->resize(200, 200)->save($path);
        $user->image = $filename;
        $user->save();
    }
}


<form action="{{ action('BuilderController@testing') }}" enctype="multipart/form-data" role="form" method="POST">
    <input id="img" class="form-control filestyle margin images" data-input="false" type="file" data-buttonText="Upload Logo" data-size="sm" data-badge="false" onchange="uploadImage();" />
</form>

5 个答案:

答案 0 :(得分:2)

尝试使用move()方法?

$filename = time().'.'.request()->img->getClientOriginalExtension();
request()->img->move(public_path('images'), $filename);

$user->image=$filename;
$user->save();

答案 1 :(得分:0)

首先,您尚未添加文件输入名称

if(Input::file('inputname')){
//
}

其次,

对于laravel-5.3您可以使用hasFile方法确定请求中是否存在文件

if ($request->hasFile('photo')) {
    //
}

您可以检索上传的文件

$file = $request->file('photo');

您可以在此处找到完整的文档

  

https://laravel.com/docs/5.3/requests#files

答案 2 :(得分:0)

您可以轻松地将图片上传到公共文件夹,如下所示:

 $image = $request->file('image');

$input['imagename'] = time().'.'.$image->getClientOriginalExtension();

$destinationPath = public_path('/thumbnail');

$img = Image::make($image->getRealPath());

$img->resize(100, 100, function ($constraint) {

    $constraint->aspectRatio();

})->save($destinationPath.'/'.$input['imagename']);

/*After Resize Add this Code to Upload Image*/
$destinationPath = public_path('/');


$image->move($destinationPath, $input['imagename']);

此外,您可以在此处查看以调整大小并上传图片:

http://itsolutionstuff.com/post/laravel-5-image-upload-and-resize-example-using-intervention-image-packageexample.html

答案 3 :(得分:0)

您需要在表单上添加name="img"

答案 4 :(得分:0)

确保在表单中包含 enctype。否则您的文件将不会被提交

<form action="#" method="POST" enctype="multipart/form-data">

</form>