我无法使用multer查看角度响应
I cannot view response in angular using multer
我正在使用Multer上传照片。我的后端是Node,我能够成功上传图像。当我上传图像时,它会通过json发送回Angular。我成功地得到了响应,但在控制台日志中,我看到的只是[object Object]
,我无法在视图中看到响应。我试过stringify
,但没有运气。收到回复总是让我感到困惑,我很想最终理解这一点。在我的HTML中,没有显示任何内容。
Node.js 的响应
apiRoutes.post('/admin/photos',upload.single('file'),function(req,res){
console.log(req.file);
res.json(req.file);
});
角度上传
$scope.submit = function() {
if ($scope.file) {
$scope.upload($scope.file);
}
};
// upload on file select or drop
$scope.upload = function (file) {
Upload.upload({
url: '/api/admin/photos',
headers : {
'Content-Type': 'multipart/form-data'
},
data: {file: file}
}).then(function (resp) {
console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
$scope.myPic = resp.config.data.file.name;
}, function (resp) {
console.log('Error status: ' + resp.status);
}, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
});
};
}]);
HTML
<form ng-controller="adminController" name="form" enctype="multipart/form-data">
Single Image with validations
<div class="button btn btn-default" ngf-select ng-model="file" name="file" ngf-pattern="'image/*'"
ngf-accept="'image/*'" ngf-max-size="20MB" ngf-min-height="100"
>Select</div>
<button type="submit" ng-click="submit()">submit</button>
</form>
<p>{{ myPic }} </p>
<ul ng-repeat="picture in myPic">
<li>{{ picture }} </li>
</ul>
我认为你不应该从服务器返回文件,实际上你可以通过$scope.file:在客户端检测文件的详细信息
http://jsfiddle.net/6jh0sb5n/3/
<input type="file" ngf-select ng-model="file" name="file"
accept="image/*" ngf-max-size="2MB" required
ngf-model-invalid="errorFiles" ng-change="getFileDetail()">
.then(function (resp) {
alert('filename:' + $scope.file.name + ',size: ' + $scope.file.size);
}
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- IIS动态HTTP响应标头
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Ajax响应转换
- 使Intro.js工具提示响应
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 将高图饼图中的文本居中显示为响应
- 我无法使用multer查看角度响应
- Express.js / Multer.在onFileUploadComplete完成之前发送的响应