0
參數我有一個場景,一個屬性可以有多個圖像,但該圖像只能分配給一個屬性(一對多,屬性ID爲FK)。
在HTML中,我檢索屬性ID,並與uploadFile功能
<div id="imageDiv" ng-controller="uploadImageCtrl">
<input type="button" class="btn btn-info" value="Upload Image" ng-click="uploadFile(pro.id)"/>
<input type="file" file-input="files"/>
</div>
這裏我有我的app.js在那裏我檢索圖像傳遞和屬性ID AS標識。我試圖傳遞id和form_data。
app.directive("fileInput", function($parse){
return{
link: function($scope, element, attrs){
element.on("change", function(event){
var files = event.target.files;
console.log(files[0].name);
$parse(attrs.fileInput).assign($scope, element[0].files);
$scope.$apply();
});
}
}
});
app.controller("uploadImageCtrl", function($scope, $http,$routeParams,$location){
$scope.uploadFile = function(id){
var form_data = new FormData();
angular.forEach($scope.files, function(file){
form_data.append('file', file);
});
$scope.id = id;
console.log(id);
$routeParams.id = id;
//$scope.activePath = null;
$scope.updateMessage="";
console.log(form_data);
$http.post('php/uploadImage.php/',{'id':id},form_data,
{
transformRequest: angular.identity,
headers: {'Content-Type': undefined,'Process-Data': false}
}).success(function(response){
alert(response);
});
}
});
然後在uploadImage.php我指定的$ id從app.j檢索的屬性ID和圖像上傳到該屬性ID。
<?php
$data = json_decode(file_get_contents("php://input"));
$id=$data->id;
echo $id;
require_once("connection.php");
$conn = connectToDb();
if(!empty($_FILES))
{
$path = '../Images/' . $_FILES['file']['name'];
if(move_uploaded_file($_FILES['file']['tmp_name'], $path))
{
$insertQuery = "INSERT INTO tbl_images(imagePath , propertyId) VALUES ('".$_FILES['file']['name']."',$id)";
if(mysqli_query($conn, $insertQuery))
{
echo 'File Uploaded';
}
else
{
echo 'File Uploaded But not Saved';
}
}
}
else
{
echo mysqli_error($conn);
}
?>
的問題是,它給了我一個空白錯誤與編號爲8,不爲什麼它不上傳,8代表的$ id(回聲的$ id)。所以物業ID被成功地獲取並傳遞到的PHP。
錯誤可能是最後的ELSE statment(echo mysqli_error($ conn))。
是form_data不succefully通過呢?
什麼的'json_decode'在做什麼?爲什麼會突然FORMDATA被JSON – adeneo
由於屬性ID是從JSON – NOSMILE
檢索你以爲我到FORMDATA轉換成JSON?如果是,我該怎麼做? – NOSMILE