无法在 Laravel 5.2 中上传图片
Cannot upload image in Laravel 5.2
我用上传图片做输入数据,我的代码
$name = $request->input('name');
$images = $request->file('image');
$name_img = $images->getClientOriginalName();
$ext = $images->getClientOriginalExtension();
// Move Uploaded File
$destinationPath = 'img/';
$images->move($destinationPath,$name_img);
$path = $destinationPath.'/'.$name_img;
然后将它们放入数组中,然后插入数据库
$data = array(
'name' => $name,
'image' => $path, );
DB::table('daftar')->insert($data);
return json_encode(array('status' =>true));
该代码在 Laravel 5.1 中有效,但在 Laravel 5.2 中无效。
Laravel 5.2 的代码有什么问题吗?
谢谢。 :)
我正在使用这种方法并且有效:
//Use should have use App\Daftar in above your class;
//Your method inputs should be like UploadRequest $request , Daftar $daftar
$file=$request->file('image');
$name=time().'-'.$file->getClientOriginalName();
$path = public_path().'/img';
$file->move($path, $name);
$daftar->create(array('name' => $name, 'image' => $path));
确保table中没有字段不能为空
您可以在此处了解有关 public_path() 的更多信息:
https://laravel.com/docs/5.5/helpers#method-public-path
我的上传文件夹也在 public 目录
如果您想确保保存在数据库中的数据与您发送的数据相同,请检查以下方法:
//Use should have use App\Daftar in above your class;
//Your method inputs should be like UploadRequest $request , Daftar $daftar
$file=$request->file('image');
$name=time().'-'.$file->getClientOriginalName();
$path = public_path().'/img';
$file->move($path, $name);
print 'name is'.$name.' and image is '.$path;
$daftar->create(array('name' => $name, 'image' => $path));
然后检查保存在数据库中的数据,这两个数据应该是相同的。
我用上传图片做输入数据,我的代码
$name = $request->input('name');
$images = $request->file('image');
$name_img = $images->getClientOriginalName();
$ext = $images->getClientOriginalExtension();
// Move Uploaded File
$destinationPath = 'img/';
$images->move($destinationPath,$name_img);
$path = $destinationPath.'/'.$name_img;
然后将它们放入数组中,然后插入数据库
$data = array(
'name' => $name,
'image' => $path, );
DB::table('daftar')->insert($data);
return json_encode(array('status' =>true));
该代码在 Laravel 5.1 中有效,但在 Laravel 5.2 中无效。
Laravel 5.2 的代码有什么问题吗?
谢谢。 :)
我正在使用这种方法并且有效:
//Use should have use App\Daftar in above your class;
//Your method inputs should be like UploadRequest $request , Daftar $daftar
$file=$request->file('image');
$name=time().'-'.$file->getClientOriginalName();
$path = public_path().'/img';
$file->move($path, $name);
$daftar->create(array('name' => $name, 'image' => $path));
确保table中没有字段不能为空
您可以在此处了解有关 public_path() 的更多信息:
https://laravel.com/docs/5.5/helpers#method-public-path
我的上传文件夹也在 public 目录
如果您想确保保存在数据库中的数据与您发送的数据相同,请检查以下方法:
//Use should have use App\Daftar in above your class;
//Your method inputs should be like UploadRequest $request , Daftar $daftar
$file=$request->file('image');
$name=time().'-'.$file->getClientOriginalName();
$path = public_path().'/img';
$file->move($path, $name);
print 'name is'.$name.' and image is '.$path;
$daftar->create(array('name' => $name, 'image' => $path));
然后检查保存在数据库中的数据,这两个数据应该是相同的。