3

我在我的项目中使用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']thats接收数据时不起作用。

4

2 回答 2

2

我找到了解决方案:

要使用 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 允许开发人员向服务器发送附加数据或表单数据。

于 2015-06-23T13:31:06.510 回答
1

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

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

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

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

于 2015-06-02T12:35:37.933 回答