Javascript 使用PHP和MySql上传带有表单数据的AngularJS文件

Javascript 使用PHP和MySql上传带有表单数据的AngularJS文件,javascript,php,mysql,angularjs,Javascript,Php,Mysql,Angularjs,我正在创建一个有很多字段的表单。我关心的是我想上传10kb的jpg文件和其他HTML表单数据 根据我的搜索,我没有看到任何解释AngulaJS文件上传以及其他数据的帖子。请帮我做同样的事。在Angular controller中创建对象时,我无法获取文件上载路径。这就是为什么它显示为未定义。代码如下:- PS-由于时间不够,我使用了表格标签 HTML代码 PHP代码 您可以使用轻量级Angular指令上载带有输入字段的文件 访问此帖子,它仍然添加了一个字段,即名称。当我对其他文件使用相同的模式时

我正在创建一个有很多字段的表单。我关心的是我想上传10kb的jpg文件和其他HTML表单数据

根据我的搜索,我没有看到任何解释AngulaJS文件上传以及其他数据的帖子。请帮我做同样的事。在Angular controller中创建对象时,我无法获取文件上载路径。这就是为什么它显示为未定义。代码如下:-

PS-由于时间不够,我使用了表格标签

HTML代码

PHP代码


您可以使用轻量级Angular指令上载带有输入字段的文件

访问此帖子,它仍然添加了一个字段,即名称。当我对其他文件使用相同的模式时,它不起作用。我尝试过这种模式,我也尝试过,但面临一些挑战,而且它也只有一个领域。在添加其他HTML元素数据时,会产生一些问题
<div id="wrapper">
<form>
<table>
    <thead>
        <tr>
            <td>Add Record</td>
            <td style="text-align:right"><a href="#/list" style="color:#000;">Back</a></td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Name</td>
            <td><input type="text" value="" id="name" tabindex="1" placeholder="Enter Name" ng-model="person.name" name="name"  /> </td>
        </tr>
        <tr>
            <td>Extn</td>
            <td><input type="text" value="" id="extn" tabindex="2" placeholder="Enter Extn" ng-model="person.extn" name="extn"   /> </td>
        </tr>
        <tr>
            <td>Designation</td>
            <td><input type="text" value="" id="designation" tabindex="3" placeholder="Enter Designation" ng-model="person.designation" name="designation"   /> </td>
        </tr>
        <tr>
            <td>mobile</td>
            <td><input type="text" value="" id="mobile" tabindex="4" placeholder="Enter Mobile" ng-model="person.mobile" name="mobile"   /> </td>
        </tr>
        <tr>
            <td>email</td>
            <td><input type="text" value="" id="email" tabindex="5" placeholder="Enter Email" ng-model="person.email" name="email"   /> </td>
        </tr>
        <tr>
            <td>upload file</td>
            <td><input  type="file" id="uploadFile" name="uploadFile" tabindex="6" ng-mode="person.fileUpload"   /> </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="button" value="Submit" id="submitbtn" tabindex="7" ng-click="save(person)"/> </td>
        </tr>
    </tbody>
</table>
</form>
angular
.module("addressBook",['ngRoute'])
.controller('addController', ['$scope','$location','$rootScope','$http', function(scope,location,rootScope,http){

    scope.save = function (item){
        var personData = {
            'name' : scope.person.name, 
            'extn' : scope.person.extn, 
            'designation' : scope.person.designation, 
            'mobile' : scope.person.mobile, 
            'email' : scope.person.email,
            'fileUpload' : scope.person.fileUpload
        };

        if(typeof rootScope.crew === 'undefined'){
            rootScope.crew = [];
        }
        debugger;
        console.log(personData);
        http.post("server/insert.php",personData).success(function(data, status, headers, config){              
            scope.person = personData;
            //rootScope.crew.push(scope.person);
            location.path("/admin");
        })

    }
}]);
<?php
    include 'conn.php';
    $data = json_decode(file_get_contents("php://input"));

    $name = mysql_real_escape_string($data->name);
    $extn = mysql_real_escape_string($data->extn);
    $designation = mysql_real_escape_string($data->designation);
    $mobile = mysql_real_escape_string($data->mobile);
    $email = mysql_real_escape_string($data->email);


    echo $query = "INSERT INTO employee (`name`,`extn`,`designation`,`mobile`,`email`) VALUES ('$name', '$extn', '$designation', '$mobile' , '$email')";
    mysql_query($query);
    Print "Your information has been successfully added to the database.";  
?>