这是我的情景:
我收到了base64图片,我的目标是通过Flysystem库将jpg上传到S3。我在Symfony 3.3.9。
实际上,当我尝试使用writeStream方法时,我发现了这个错误。
ftell():提供的资源不是有效的流资源 /opt/project/vendor/league/flysystem/src/Util.php第250行
这是我的代码
$data = explode(',', $base64String, 2);
$relativePath = 'here/there.jpg';
$imageDecoded = base64_decode($data[1]);
$imageResource = imagecreatefromstring($imageDecoded);
$s3FileSystem->writeStream($relativePath, $imageResource,
['visibility' => AdapterInterface::VISIBILITY_PUBLIC,
'mimetype' => 'image/jpeg',
]);
阅读ftell()的文档,它说
文件指针必须有效,并且必须成功指向文件 由fopen或popen打开。
如何避免此错误?我应该在将图像保存到文件之前并在使用之后将其保存吗?
BTW我试图保存图像并且它是正确的,所以没有损坏的数据。