Php 干预图像&x2B;拉维尔';s文件存储:存储大小调整/解码的base64图像(干预图像编码()不起作用)

Php 干预图像&x2B;拉维尔';s文件存储:存储大小调整/解码的base64图像(干预图像编码()不起作用),php,laravel,intervention,laravel-storage,Php,Laravel,Intervention,Laravel Storage,我正在使用jQuery插件,它返回以base64编码的裁剪图像 提交表单后(使用base64编码的裁剪图像)-我使用库对其进行解码并调整大小: 最后,我想使用存储已调整大小的图像,这就是我遇到的问题-当我尝试以下操作时: Storage::put($path, (string) $resized_image->encode()); 。。。它不起作用。事实上,它正在工作-它看起来有一些内存泄漏或什么,浏览器的标签冻结,我的RAM和CPU使用率高 所以我试着: dd($resized_i

我正在使用jQuery插件,它返回以base64编码的裁剪图像

  • 提交表单后(使用base64编码的裁剪图像)-我使用库对其进行解码并调整大小:

  • 最后,我想使用存储已调整大小的图像,这就是我遇到的问题-当我尝试以下操作时:

    Storage::put($path, (string) $resized_image->encode());
    
    。。。它不起作用。事实上,它正在工作-它看起来有一些内存泄漏或什么,浏览器的标签冻结,我的RAM和CPU使用率高

    所以我试着:

    dd($resized_image->encode());
    
    。。。是的,这就是它崩溃的地方——当使用方法时

    我不知道为什么,可能是因为我没有使用标准的图像上传,而是使用解码的base64

    但是,在另一方面,干预映像可以从base64以及从解码的base64创建新映像实例: ... 在我的例子中,这是可行的:

    $resized_image = Image::make($decoded_image)->resize(300, 200);
    
    然后我就可以使用这个方法,一切都会好起来的。但我需要使用


    您知道我如何处理此问题吗?

    假设您使用的是最新版本的Laravel():

    您可以使用如下方法:

    //使用jpg格式和100的质量
    $resized_image=image::make($decoded_image)->resize(300200)->stream('jpg',100);
    //然后使用Illumb\Support\Facades\Storage
    Storage::disk('your_disk')->put('path/to/image.jpg',$resized_image);//检查返回的成功和失败
    
    假设您使用的是最新版本的Laravel():

    您可以使用如下方法:

    //使用jpg格式和100的质量
    $resized_image=image::make($decoded_image)->resize(300200)->stream('jpg',100);
    //然后使用Illumb\Support\Facades\Storage
    Storage::disk('your_disk')->put('path/to/image.jpg',$resized_image);//检查返回的成功和失败
    
    $resized_image = Image::make($decoded_image)->resize(300, 200);