Я использую Multer для загрузки фотографий. Мой бэкенд - это Node, и я могу успешно загрузить изображение. Когда я загружаю изображение, он отправляется обратно через json обратно в Angular. Я получаю ответ успешно, но в консольном журнале все, что я вижу, это [object Object]
, и я не могу видеть ответ в представлении. Я попробовал stringify
, но не повезло. Получение ответов всегда меня подводит, и я хотел бы это понять наконец. В моем HTML ничего не появляется.Я не могу просмотреть ответ в угловом использовании multer
Ответ 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>
насчет Node.js controllre? – mic4ael
Я использую маршруты. Я возвращаю json без проблем. Просто не могу перейти от json для просмотра. – arsenalist
Концепция не имеет смысла возвращать весь файл. Зачем вам это нужно? – charlietfl