2015-10-30 113 views
0

我試圖檢索上傳到服務器的文件,但沒有運氣。我得到:403 - forbidden錯誤。 (我是相當新的的NodeJS)從NodeJs獲取已上傳的文件

這是代碼的NodeJS:

// Get Thumbnail Images 
router.param('imageName', function(req, res, next, imageName) { 
    req.imageURL = "../uploads/thumbnails/" + imageName; 
    return next(); 
}); 

router.get('/tn/:imageName', function(req, res) { 
    var options = { 
     root: __dirname 
    }; 
    res.sendFile(req.imageURL, options); 
}); 

這是HTML代碼:

<img ng-src="/tn/{{ card.backImg }}" class="" alt=""/> 

此外,我想在我的app.js加入這一行:

app.use(express.static(path.join(__dirname, 'uploads'))); 

我不確定這種情況(所有用戶訪問上傳的圖像)的最佳做法是什麼。所以,請您提供關於公共文件夾,靜態和最佳實踐的一般性解釋。

預先感謝您。

回答

0

我認爲下面的源代碼是能夠與你的情況下工作:

app.get('/tn/:imageName', function(req ,res) { 
    var path = require('path'); 
    var file = path.join(__dirname, "/../uploads/thumbnails/" , req.params.imageName); 
    res.sendFile(file); 
}); 

注:我使用ExpressJS 4.0