[英]php slim how to file upload using eloquent?
我正在尝试使用邮递员上传图像和即时消息,但该图像未插入数据库中
这是错误
关于我应该做什么的任何建议?
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'image' cannot be null (SQL: insert into `images` (`image`) values ())
这是路线
$app->post('/images', function($request, $response, $args) {
$data = $request->getUploadedFiles();
$image = new Image();
$image->image = $data['image'];
$image->save();
return $this->response->write($image->toJson());
});
这是邮递员页面
这是标题
问题
您正在将模型图像属性设置为\\Psr\\Http\\Message\\UploadedFileInterface
类型的对象 ,而不是string 。 模型不知道如何处理对象。
Slim $request->getUploadedFiles()
返回\\Psr\\Http\\Message\\UploadedFileInterface
类型的对象,而不是字符串 。
解
要访问图像数据,首先我们需要获取流 :
$data = $request->getUploadedFiles();
$uploadedImage = $data['image'];
$uploadedImageStream = $uploadedImage->getStream();
现在有了流 ,就可以像读取文件一样从中读取块了。 但是,我们将立即获取所有数据并将其设置为Model属性:
$image->image = $uploadedImageStream->getContents();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.