我想使用 LiipImagineBundle 在控制器中调整我上传的图片的大小。
$extension = $file->guessExtension();
$newfilename = sha1(uniqid(mt_rand(), true));
$tmp_folder = $this->get('kernel')->getRootDir() . '/../web/uploads/tmp/'; // folder to store unfiltered temp file
$tmp_imagename = $newfilename.'.'.$extension;
$file->move($tmp_folder, $tmp_imagename);
$tmpImagePathRel = '/uploads/tmp/' . $tmp_imagename;
$processedImage = $this->container->get('liip_imagine.data.manager')->find('profilepic', $tmpImagePathRel);
$newimage_string = $this->container->get('liip_imagine.filter.manager')->get($request, 'profilepic', $processedImage, $tmpImagePathRel)->getContent();
unlink($tmp_folder . $tmp_imagename); // eliminate unfiltered temp file.
$perm_folder = $this->get('kernel')->getRootDir() . '/../web/uploads/userimages/';
$perm_imagepath = $perm_folder . $newfilename . '.jpeg';
$f = fopen($perm_imagepathh, 'w');
fwrite($f, $newimage_string);
fclose($f);
这会带来以下错误:
Attempted to call method "get" on class "Liip\ImagineBundle\Imagine\Filter\FilterManager" in C:\...\UserController.php line xx. Did you mean to call: "getFilterConfiguration"?
然后我尝试
$newimage_string = $this->container->get('liip_imagine.filter.manager')->getFilterConfiguration($request, 'profilepic', $processedImage, $tmpImagePathRel);
它带给我
Warning: fwrite() expects parameter 2 to be string, object given in C:\..
我几乎找不到任何文档或示例来完成这项任务:(我对捆绑文档感到非常失望://
非常感谢任何帮助!
提前致谢!