如何使用multer上传然后将路径存储在mongodb中

时间:2019-01-07 07:00:16

标签: node.js angularjs mongodb mean-stack multer

我在遵循一些有关如何使用multer上载图像的教程时遇到了麻烦,我找不到关于如何在特定文件夹中上载图像然后将路径保存在mongodb中并在出现以下情况时显示图像的答案使用router.get

请对此给出任何答案,我对平均值堆栈来说还是个新手,我已经搜索了好几天,但找不到最佳解决方案。这是我的代码:

newsfeed.js

var NewsfeedSchema = new Schema({
    subject: { type: String, required: false},
    nw_content: { type: String, required: false, lowercase: false}
});

newsfeedCtrl.js

angular.module('newsfeedControllers', [])

    .controller('newsfeedCtrl', function($location, $timeout, Newsfeed, $route) {
        var app = this;
        app.regNewsfeed = function(regData) {

            Newsfeed.create(app.regData).then(function(data) {

               $timeout(function() {
                   $location.path('/superadmin_newsfeed');
                   $route.reload();
               }, 2000);
            });

            Newsfeed.getNewsfeeds().then(function(data) {
                  app.newsfeeds = data.data.newsfeeds;             
            });
        };
    })

newsfeedServices.js

angular.module('newsfeedServices', [])

    .factory('Newsfeed', function($http) {
        var newsfeedFactory = {}; 

        newsfeedFactory.create = function(regData) {
            return $http.post('/api/newsfeeds', regData); 
        };

        newsfeedFactory.getNewsfeeds = function() {
            return $http.get('/api/newsfeedmanagement/');
        };

        return newsfeedFactory;
    });

api.js

var Newsfeed = require('../models/newsfeed');

router.post('/newsfeeds',function(req, res) {

    var newsfeed = new Newsfeed(); 
    newsfeed.subject = req.body.subject; 
    newsfeed.nw_content = req.body.nw_content;  
    newsfeed.save(function(err) {
        res.json({ success: true, message: 'Announcement Posted!' }); 
    });  
});

router.get('/newsfeedmanagement', function(req, res) {
    Newsfeed.find({}, function(err, newsfeeds) {
        if (err) throw err; 
        res.json({ success: true, newsfeeds: newsfeeds });                 
    });
});

newsfeed.html

<!--post newsfeed-->
<form ng-submit="newsfeed.regNewsfeed(regData);">
    <label>Subject:</label>
    <input type="text" name="subject" ng-model="newsfeed.regData.subject">

    <label>Post Newsfeed</label>
    <textarea type="text" name="nw_content" ng-model="newsfeed.regData.nw_content"></textarea>

    <label>Image</label>
    <input type='file' name='image' />
    <button type="submit">Send Announcement</button>           
</form>

<!--get newsfeed-->
<div ng-repeat="person in newsfeedmanagement.newsfeeds">   
    <p>{{person.subject}}</p>
    <p>{{person.nw_content}}</p>  
</div>

我的预期输出:

我希望从数据库中获取值时会看到图像

<div ng-repeat="person in newsfeedmanagement.newsfeeds">   
   <p>{{person.subject}}</p>
   <p>{{person.nw_content}}</p>  
   <p>{{person.img}}</p>  <--display image 
</div>

0 个答案:

没有答案