将上传的图像存储到数据库中 laravel
storing uploaded image into database laravel
我在将图像上传到数据库时遇到问题,每次尝试上传时,发送到数据库的数据都是空的,但我的本地磁盘可以存储图像,但我不知道该怎么做。我想我可能在控制器部分做错了
控制器:
public function store1(Request $request){
$this->validate($request, [
'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
if ($request->hasFile('file')) {
$image = $request->file('file');
$name = $image->getClientOriginalName();
$size = $image->getClientSize();
$destinationPath = public_path('/images');
$image->move($destinationPath, $name);
$userImage = new UserImage;
$userImage->name = $name;
$userImage->size = $size;
//dd($userImage);
$userImage->save;
}
table 我想上传到:
Schema::create('user_images', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('size');
$table->integer('user_id');
$table->timestamps();
});
在您发布的代码中,您忘记设置 user_id
的数据。正如我在您的架构中看到的那样,它不可为空,因此它应该有一个数据。
另外,你能试试把 ()
放在你的存档里吗 :
$userImage->save();
我在将图像上传到数据库时遇到问题,每次尝试上传时,发送到数据库的数据都是空的,但我的本地磁盘可以存储图像,但我不知道该怎么做。我想我可能在控制器部分做错了
控制器:
public function store1(Request $request){
$this->validate($request, [
'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
if ($request->hasFile('file')) {
$image = $request->file('file');
$name = $image->getClientOriginalName();
$size = $image->getClientSize();
$destinationPath = public_path('/images');
$image->move($destinationPath, $name);
$userImage = new UserImage;
$userImage->name = $name;
$userImage->size = $size;
//dd($userImage);
$userImage->save;
}
table 我想上传到:
Schema::create('user_images', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('size');
$table->integer('user_id');
$table->timestamps();
});
在您发布的代码中,您忘记设置 user_id
的数据。正如我在您的架构中看到的那样,它不可为空,因此它应该有一个数据。
另外,你能试试把 ()
放在你的存档里吗 :
$userImage->save();