gpt4 book ai didi

php - 如何使用 storeas method() 在 laravel 中存储 base64 编码的图像?

转载 作者:行者123 更新时间:2023-12-04 03:03:23 25 4
gpt4 key购买 nike

我在尝试使用 Laravel 中的 StoreAs 方法来存储尚未由 html 文件处理程序附加并已通过"file"类型的请求发送的图像时,我的智慧已经尽头。

我使用croppie创建了一个裁剪图像:https://foliotek.github.io/Croppie/

但是,croppie 似乎并没有为我提供一个简单的解决方案来将裁剪后的图像附加到标准的 html 文件处理程序。所以我决定将图像信息和图像名称附加到一个隐藏的文件元素,并将它与我的 post 请求一起发送到我的 Laravel 实例。但是,我现在的问题是我想使用 StoreAs 方法,因为它允许我将我的图像附加到我可以检索的特定 url,在检索大量图像时,我觉得这非常有用。

Laravel 中的 StoreAs() 方法显然只允许使用 UploadedFile 类型的对象,该对象基于 Symfony\Component\HttpFoundation\File\UploadedFile 类。当在 html 中使用文件处理程序时,这个 UploadedFile 对象显然是与文件一起自动发送的。

我有一个与此类似的 base64 编码图像: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAgAElEQVR4nOy9d3RUZ5ruuyvnnJNyzpEgcg4mO+e23U7t3Hl63TTAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAgAElEQVR4nOy9d3RUZ5ruuyvnnJNyzpEgcg4mO+e23U7t3Hl63TTAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAgAElEQVR4nOy9d3RUZ5ruuyvnnJNyzpEgcg4mO+e23U7t3Hl63TTAANSUhEUgAAASwAAAEsCAYAAAB5RyvnZpMZ
和图像名称。

我发现我可以自己在 Laravel 中创建一个 UploadedFile 对象,但我很难理解我必须如何创建这个 UploadedFile,然后使用 StoreAs() 方法将它链接到生成的 url。

我在这里找到了这个链接:Laravel - file path to UploadedFile instance
还有这个:https://gist.github.com/m241802/0b5d0a98318304ff08cf

但是我仍然不完全了解如何根据我拥有的图像和图像名称创建 UploadedFile 对象。

有谁知道如何做到这一点?或者甚至可以为我的问题提出更优雅的解决方案?也许有人有更好的解决方案,说明在使用了croppie 库后如何在post 请求中发送一个File 对象?

在此先感谢您的帮助!

最佳答案

尝试这个 :

$image = $request->input('image'); // your base64 encoded
$image = str_replace('data:image/png;base64,', '', $image);
$image = str_replace(' ', '+', $image);
$imageName = 'test.png';
\File::put(storage_path(). '/' . $imageName, base64_decode($image));

关于php - 如何使用 storeas method() 在 laravel 中存储 base64 编码的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46816339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com