Angularjs将文件输入类型发布到php

时间:2016-02-19 22:23:51

标签: javascript php angularjs forms

我有一个类似的表格:

<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实现这一目标?

0 个答案:

没有答案