2015-05-31 41 views
0

我在我的項目中使用了angularFileUpload模塊。它工作正常,但我想發送額外的數據與我的文件/ s,但我不能。如何使用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']這是行不通的。

回答

1

在什麼情況下使用$ _POST ['name']?

我可以看到你的代碼和我的(工作)代碼的唯一區別是我沒有類型:'後',似乎沒有它的好。

我有一個運行Express的nodejs後端。 Express將數據值傳遞給請求對象中的節點,並通過req.body.name訪問它。

你確定你的網址正確地調用你的後端嗎?

+0

哦,我用PHP作爲後端。所以通過使用$ _POST我只是檢索表單數據。感謝您的答覆。我解決了它:) –

+0

你是如何解決它的? – bwobbones

+0

在這裏,我只是附加* formData *發送附加數據請求 'var uploader = $ scope.uploader = new FileUploader({url:'api/photos/upload/propertyfeaturephoto', type:'post', FORMDATA:[{MYDATA: '這是我的數據'}], 標頭:{ csrf_token:CSRF_TOKEN, 'X-XSRF-TOKEN':X_XSRF_TOKEN }, 成功:函數(RESP){ 的console.log (resp); } });' –

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允許開發者發送的附加數據或形式數據到服務器。