2016-01-05 2 views
0

Мне удалось загрузить файл и сохранить его в моем MongoDB, но теперь я хочу, чтобы иметь возможность downlaod этого файла из того же mongoDB. На стороне сервера я использую модуль GridFS в Mongoose для загрузки и загрузки с использованием gfs-read/write-stream. Downlaod код в Мангуста выглядит следующим образом:Загрузка файла из Mongoose в Angular

app.post('/Download', function (req, res) { 
    grid.mongo = mongoose.mongo; 
    var gfs = grid(conn.db); 
    var readstream = gfs.createReadStream({ 
     filename: 'Program.cs' 
    }); 
    readstream.pipe(res); 
}) 

В моей угловой у меня это до сих пор:

$scope.Download = function() { 
     $http.post(url + "/Download") 
     .success(function (res) { 
      console.log(res); 
     })  
} 

console.log ответ показан here

Я хочу сохранить это содержание файл .cs в локальной файловой системе, также хочу, чтобы иметь возможность запрашивать у пользователя путь загрузки, как это сделать?

+1

вы в состоянии загрузить файл локально? –

+0

Вот что я хочу успеть :) так что .. еще нет. Я просто получаю файл/файл-контент в своем угловом и не знаю, что с ним делать, чтобы он хранился в файле локально. –

ответ

0

Try ниже код

app.post('/Download', function (req, res) { 

    var filenameId = "";// mention _id value of 'Program.cs' 

    var filename = 'Program.cs'; 

    var _id = new ObjectID(filenameId); 

    var gfs = new Grid(conn.db, "yourfile_collection_name");// default value is fs 

    gfs.get(_id, function(err, data) {  
     if (err) 
      throw err; 
     res.setHeader('Content-Disposition','attachment; filename="' + filename + '"'); 
     res.send(data); 
     }); 
}; 
+0

и что делать Тогда я делаю в Угловом? Как сохранить файл локально? –

+0

ли выше код работал –

+0

Нет возвращается «refferenceError: ObjectID не определен» –

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