【问题标题】:How to send additional data with angularFileUpload如何使用 angularFileUpload 发送附加数据
【发布时间】:2015-05-31 09:50:37
【问题描述】:

我在我的项目中使用 angularFileUpload 模块。它工作正常,但我想用我的文件发送其他数据,但我不能。

var uploader = $scope.uploader = Upload.upload({
        url: 'api/photos/upload/propertyphoto',
        type:'post',
        data:{name:'my name'},
        headers:{
            csrf_token:CSRF_TOKEN,
            'X-XSRF-TOKEN':X_XSRF_TOKEN
        }
   });

照片上传工作正常。但是当我使用$_POST['name'] 接收数据时,这不起作用。

【问题讨论】:

    标签: ajax angularjs angular-file-upload


    【解决方案1】:

    我找到了解决办法:

    要使用 angularFileUpload 发送其他数据或表单数据,您需要包含 formData 键。

    例子:

    var uploader = $scope.uploader = new FileUploader({ 
        url: 'api/photos/upload/propertyfeaturephoto', 
        type: 'post', 
        formData: [{mydata: 'this is my data'}], 
        headers: { 
            csrf_token: CSRF_TOKEN
        }, 
        success:function(resp) { 
            console.log(resp); 
        } 
    });
    

    这里的formData允许开发者向服务器发送额外的数据或表单数据。

    【讨论】:

      【解决方案2】:

      你在什么情况下使用$_POST['name']?

      你的代码和我的(工作)代码的唯一区别是我没有类型:'post',没有它似乎没问题。

      我有一个运行 Express 的 nodejs 后端。 Express 将数据值传递给请求对象中的节点,我通过 req.body.name 访问它。

      您确定您的网址正确调用了您的后端吗?

      【讨论】:

      • 哦,我用 PHP 作为后端。所以通过使用 $_POST 我只是检索表单数据。谢谢您的答复。我解决了:)
      • 这里我只是附加了 formData 以发送附加数据请求var uploader=$scope.uploader=new FileUploader({ url: 'api/photos/upload/propertyfeaturephoto', type:'post', formData:[{mydata:'this is my data'}], headers:{ csrf_token:CSRF_TOKEN, 'X-XSRF-TOKEN':X_XSRF_TOKEN }, success:function(resp){ console.log(resp); } });
      猜你喜欢
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 2014-07-20
      • 1970-01-01
      相关资源
      最近更新 更多