我正在使用从客户端到服务器的简单文件上传。以下是我的尝试。
eReaderBook.controller('browseCtrl',['$scope',"$http",function($scope,$http){
$scope.fileName ="";
$scope.imageName ="";
$scope.uploadFile = function(){
var data1 = new FormData();
data1.append('input_file_name', $('#fileName').prop('files')[0]);
data1.append('input_image_name', $('#imageName').prop('files')[0]);
if($scope.fileName!="" && $scope.imageName!="")
{
$http({
url: '/upload',
method: "POST",
data: data1
})
.then(function(response) {
console.log("success")
},
function(response) { // optional
console.log("failed")
});
}
};
}])
节点.js
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer());
app.post('/upload',function(req,res)
{
console.log("aaa");
res.send("hi")
});
但是当我向nodejs服务器发送请求时,它会抛出错误错误:json无效 at parse(d:\ MeanTest \ node_modules \ body-parser \ lib \ types \ json.js:83:15)
我在这里做错了什么......
答案 0 :(得分:1)
您的代码存在的问题是,您传递的data
不是valid json
,因此处理时bodyParser.json()
会抛出error
。
您可以使用bodyParser.raw(options)
作为middleware
使用。 bodyParser.raw()
返回将所有实体解析为缓冲区的中间件。