2016-01-05 103 views
0

我設法上傳文件並將其存儲在我的MongoDB中,但是現在我希望能夠從同一個mongoDB下載該文件。在服務器端,我使用Mongoose中的GridFS模塊來使用gfs-read/write-stream進行上傳和下載。在貓鼬 立即下載的代碼如下所示:從Mongoose角度下載文件

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

試試下面的代碼

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

和什麼做那麼我在Angular做什麼?如何在本地存儲文件? –

+0

難道上面的代碼工作 –

+0

沒有返回「refferenceError:對象ID沒有定義」 –