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']ません。

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 を介してアクセスします。

URL がバックエンドを正しく呼び出していると確信していますか?

于 2015-06-02T12:35:37.933 に答える