我有一个类似的表格:
<form>
...
<input type="text" ng-model="data.textInput">
<input type="file" ng-model="data.imageInput">
...
<form>
当我提交表单时,我使用下面的脚本将其发布到php文件中:
$http({
url: 'url_to_php_file.php',
method: 'POST',
data: $scope.data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
然后,在我的php文件中,我可以像这样访问文本数据:
$_POST = json_decode(file_get_contents('php://input'), true);
echo $_POST['textInput'];
到此为止,一切正常,但问题是访问文件输入类型数据。我看到一些示例包括在调用http请求之前上传文件,但是他们没有展示如何在服务器中处理请求。
我想要实现的是使用base64_encode
对文件进行编码,以便将其上传到数据库中。当我发布没有angularjs的表单时,但是以经典的方式,我使用这一行来编码文件,然后将其上传到db:
$imageInput= base64_encode(file_get_contents($_FILES['imageInput']['tmp_name']));
如何使用angularjs实现这一目标?