我目前正在开发一个使用AngularJS进行前端的网站,以及一个使用Laravel框架(PHP5)作为后端的宁静Web服务;我目前面临一个问题,文件上传。我想上传一个非常简单的文件,文件输入和一些副本到一个服务器文件夹。
目前,我在AngularJS中使用的指令效果很好,并使用base64 url发送我的文件;我能够在我的PHP后端中获取此字符串,但无法将其转换为文件。例如,我希望能够获取文件名,ext,...并将其复制到服务器..
知道如何将base64转换为“文件对象”吗? (该解决方案是否专为Laravel和简单的PHP设计并不会让我烦恼。)
答案 0 :(得分:0)
只需decode服务器上的基本64字符串,然后写入file即可。
示例如果图像位于表单图像数据中,并且数据是作为POST发送的:
file_put_contents('path/to/images/image.jpg', base_64_decode($_POST['image']));
我对laravel不太满意,但我认为在框架内部有更好的方法,而不是直接访问表格数据PHP的$ _POST数组。
要查找图片的文件类型,请查看finfo_buffer并查看如何使用您的案例here