客户端和服务器之间的Http请求不同

时间:2015-05-21 03:51:47

标签: angularjs node.js http

在客户端,我发送一个$ http:

的请求
Upload.upload({
       url: 'http://localhost:3000/upload',
       fields: {
            'username': $scope.username
       },
       file: file
})

在服务器端,这是路线:

app.route('/upload')
    .get(function (req) {
        for (var key in req)
            console.log(key);
})

但我在req中看不到任何关键名称文件?两者之间存在这种差异的原因是什么?

1 个答案:

答案 0 :(得分:0)

您需要添加标题以使用post上传文件,需要进行multipart / form-data请求,

   var fd = new FormData();
     fd.append("file", file);

    $http.post(uploadUrl, fd, {
        withCredentials: true,
        headers: {'Content-Type': undefined },
        transformRequest: angular.identity
    })

请参阅more on this answer