2016-01-12 1 views
0

Я использую 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> 
+0

насчет Node.js controllre? – mic4ael

+0

Я использую маршруты. Я возвращаю json без проблем. Просто не могу перейти от json для просмотра. – arsenalist

+2

Концепция не имеет смысла возвращать весь файл. Зачем вам это нужно? – charlietfl

ответ

1

Я не думаю, что вы должны вернуть файл с сервера, на самом деле вы можете обнаружить файл подробно на стороне клиента по $ 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); 
} 
+0

Я думаю, что если я {{file.name}} или просто файл, я не вижу ничего на мой взгляд. Моя проблема в основном пытается увидеть информацию на мой взгляд. Я подумал, что когда-то это было возможно. Вот что меня смущает. – arsenalist

+0

Можете ли вы предоставить jsfiddle? Я думаю, вам может потребоваться привязать ng-click = "upload (file)" и посмотреть, что произойдет с вашим файловым объектом. –

 Смежные вопросы

  • Нет связанных вопросов^_^