如何使用angularFileUpload发送附加数据

时间:2015-05-31 09:50:38

标签: ajax angularjs angular-file-upload

我在项目中使用 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']收到数据时,这些数据不起作用。

2 个答案:

答案 0 :(得分:1)

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

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

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

访问它

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

答案 1 :(得分:0)

我找到了解决方案:

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