我正在创建一个包含大量字段的表单。我担心的是我想上传10kb的jpg文件以及其他HTML表单数据。
根据我的搜索,我还没有看到任何解释AngulaJS文件上传的帖子以及其他数据。请帮我做同样的事。在Angular控制器中创建对象时,我无法获得 fileUpload路径。这就是为什么它显示为undefine。代码如下: -
PS - 由于时间不足,我使用了表格标签。
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>
AngularJS
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代码
<?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.";
?>
答案 0 :(得分:0)
您可以使用Lightweight Angular指令上传带有输入字段的文件 https://github.com/danialfarid/ng-file-upload