图像服务器
问题描述:
我使用镍框架(又使用妙语)为节点,其内有一个控制器称为资产,具有用于图像,文件等的方法图像服务器
当您访问domain.com/assets/images/imagename.png
但是它显示了原始数据图像,而不是图像本身的图像的方法将获取和显示和图像。
我已设置标题和内容类型。我的代码是:
var Ni = require('../lib/ni'),
mime = require('mime'),
fs = require("fs");
var AssetsController = function(){
this.images = function(req, res, next, fileName) {
var path = './assets/images/'+fileName;
var image = fs.readFile(path, "binary", function(error, data){
if(error) throw error;
res.writeHead(200, {
'Content-Type' : mime.lookup(path),
'Content-Transfer-Encoding' : 'binary'
});
res.send(data);
});
}
}
module.exports = new AssetsController();
答
提供图片当我使用这段代码并正确显示出来:
fs.readFile(path, function(err, data){
res.writeHead(200, {"Content-Type": "image/png"});
res.write(data, "binary");
res.end();
});
这并不适合我,因为镍框架that'I”的工作m使用,但是我解决了问题使用节点静态 – manicleek 2011-05-13 15:11:46