首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS:通过角JS上传文件

AngularJS:通过角JS上传文件
EN

Stack Overflow用户
提问于 2016-01-07 13:26:03
回答 1查看 41关注 0票数 4

我目前的情况是:我做了嵌套重复,如下所示:

代码语言:javascript
复制
$scope.uploadPic = function(file) 
{

    alert($scope.taskdetails.id);       //task_id e.g 21
    alert($rootScope.job_id);   //job_id e.g 12
    file.upload = Upload.upload(
    {
      url: 'http://localhost/mobile-data/upload_file.php',
      data: {
                file: file,
                task_id: $scope.taskdetails.id,
                job_id: $rootScope.job_id
            },

    });
    file.upload.then(function (response) {
      $timeout(function () {
        file.result = response.data;
      });
    }, function (response) {
      if (response.status > 0)
        $scope.errorMsg = response.status + ': ' + response.data;
    }, function (evt) {
      // Math.min is to fix IE which reports 200% sometimes
      file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));
    });
}   

但在我的upload_file.php上,我无法接收以下值:

代码语言:javascript
复制
task_id: $scope.taskdetails.id,
job_id: $rootScope.job_id

console.log,他们工作得很好。但是在服务器端,它没有接收到。这是我的upload_file.php代码

代码语言:javascript
复制
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('content-type: application/json; charset=utf-8');
$_POST = json_decode(file_get_contents('php://input'), true);

$task_id = $_POST["task_id"];
$file = $_FILES["file"];
$job_id = $_POST["job_id"];
var_dump($task_id);
var_dump($job_id);

但在var_dump上,它只打印null。帮助我正确地接收这些值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-08 06:13:01

在php文件中,删除解码行,即:

代码语言:javascript
复制
$_POST = json_decode(file_get_contents('php://input'), true);

您不需要解码,因为您没有将数据接收到JSON编码的数组.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34656306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档