如何将文件从内存存储到Laravel5中的存储中?

时间:2018-10-18 18:48:14

标签: php laravel laravel-5 base64

我有一个变量,该变量将图像保存为base64字符串。如何将该文件放入存储设备?我尝试过:

\Illuminate\Support\Facades\Storage::disk($disk_name)->putFileAs($dir_path, base64_decode($image_str), $file_name);

很不幸,我收到此错误:Call to a member function getRealPath() on string

原因是putFile函数的第二个参数应该是Illuminate\Http\File对象,但是我不知道如何从base64字符串创建一个。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

Storage::disk($disk_name)->put($dir_path . '/' . $file_name, base64_decode($image_str));

请参见Laravel Storage docs

put方法将文件的路径作为第一个参数,将内容的路径作为第二个参数。

注意:如果您的$dir_path已经包含/,请从函数中删除该变量,以免出现双精度情况。