Laravel base64文件移入一个文件夹

SAR*_*RAN 1 base64 laravel

我有一个$data带a 的变量base64:它是图像文件

我想将此文件移动到文件夹中...但是它已作为空文件移动。


我的代码:

$file_name = Input::get('file_name');

$image = base64_decode($data);

file_put_contents(public_path('/user_attachments/').$file_name, $image);
Run Code Online (Sandbox Code Playgroud)


请任何人帮助?

tom*_*rod 5

不能在其中包含data:URI schemedata:image/png;base64,$data

您可以删除data:URI schemeusing explode函数,该函数将在使用前返回一个包含两个元素的数组base64_decode

  • $data[0] => data:URI方案。
  • $data[1] =>您的数据。

使用它作为后续使用,的分隔符:

$data = explode(',', $data)[1];
Run Code Online (Sandbox Code Playgroud)


然后尝试下一个代码:

$fileName = Input::get('file_name');
$fileStream = fopen(public_path() . '/user_attachments/' . $fileName , "wb"); 

fwrite($fileStream, base64_decode($data)); 
fclose($fileStream); 
Run Code Online (Sandbox Code Playgroud)

要么

//////////// The final filename.
$fileName= Input::get('file_name');

//////////// Upload path
$uploadPath = public_path() . "/user_attachments/" . $fileName;

//////////// Decode your image/file
$data = base64_decode($data);

//////////// Upload the decoded file/image
if(file_put_contents($uploadPath , $data)){
    echo "Success!";
}else{
    echo "Unable to save the file.";
}
Run Code Online (Sandbox Code Playgroud)