Javascript 使用路由器管理图像资源的get请求
我正在使用和发送获取图像的请求,方法是使用Javascript 使用路由器管理图像资源的get请求,javascript,node.js,image,Javascript,Node.js,Image,我正在使用和发送获取图像的请求,方法是使用$('body')将图像附加到正文中。append(“”)。当我发送请求时,控制台正在记录GET/images/image.gif?34567 200 1.223 ms,但它不会运行路由器内部的功能来路由到该图像 router.get('/images/*', function(req, res) { console.log('Accessed image folder...') var requestURL = url.parse(r
$('body')将图像附加到正文中。append(“”)
。当我发送请求时,控制台正在记录GET/images/image.gif?34567 200 1.223 ms
,但它不会运行路由器内部的功能来路由到该图像
router.get('/images/*', function(req, res) {
console.log('Accessed image folder...')
var requestURL = url.parse(req.url,true);
//ATTEMPT to capture request
if(requestURL.pathname == '/images/image.gif') {
console.log("Fetching image...")
}
});
我还尝试使用特定的路由:router.get('/images/image.gif',function(req,res){
,并尝试了以下操作
当请求映像目录中的特定映像时,如何使
获取
路由器工作?如果您试图从节点服务器查看映像,则必须使用express static。以下代码可能会对您有所帮助
var express=require('express'),
app=express();
app.use(“/pictures”,lib.express.static(“/assets/images”);
只需获取图像名称作为参数,设置内容类型(您也可以根据请求的文件扩展名动态执行此操作,为简单起见,我仅将其设置为gif),然后对图像名称执行异步文件加载并返回。谢谢您的输入,但我已经运行了代码,并制作了一个类似的、更简单的版本。奇怪的是,路由器只有在我使用错误的路径名时才能工作,即为
image
返回任何内容,否则我只能得到相同的get/images/image.gif?34567200 1.223毫秒
登录控制台。
router.get('/images/:imageName', function(req, res) {
var image = req.params['imageName'];
res.header('Content-Type', "image/gif");
fs.readFile(image, 'utf8', function(err, data){
if(err){
res.end(404);
}
res.send(data)
});
});