Articles of expression

ExpressJS / NodeJSredirect图像

img可以将src值redirect到另一个页面? 鉴于,我有img : <img src='/images/fileName'/> 在app.js中 app.get('/images/:fileName', subject.image); 这是我的路线: exports.image = function(req, res){ var fileName = req.fileName; fs.exists(fileName, function(exists){ if (exists) { res.sendfile(imagePath); }else{ res.redirect('http://gravatar.com/avatar/_some_hash'); } }); } 我的代码工作,但如果图像不存在,使用res.redirect可以吗? 谢谢

用快递上传文件

我正在试图使一个简单的文件服务器能够使用快速保存文件: var app = express(); app.use(express.bodyParser({uploadDir:'./uploads'})) app.post('/upload', function(req, res, next) { console.log("Uploading File"); req.on('data', function(raw) { console.log('received data: ' + raw); }); req.on('end', function() { console.log('File uploaded'); res.send(200); }); }); 我只是在“上传”文件夹中获得一个空文件。 我错过了什么? 也许是一个非常愚蠢的问题,但我是新的node.js。 编辑 :更多信息… 我从我的客户发送这个: POST /upload HTTP/1.1 Connection: Close Content-Length: 42 Content-Type: multipart/form-data; boundary="MIME_boundary_572B1A2B457D3267" Cookie: session.id=b268b12e-0c05-11e3-8702-7a7919510927 Host: localhost:8080 Transfer-Encoding: chunked Client 3 Received […]

Facebook如何知道某人是否在线

我正在做一个Node.js(Express框架)和socket.io的实时网站,在某些时候,它必须检测是否有人在线(这基本上是有人打开网页)。 我认为Facebook聊天就是这样的一个例子。 但是它背后的工程逻辑是什么? 非常感谢!

TypeError:Object#<HTMLDivElement>没有方法'css'w / Express.js

尝试通过Chrome控制台更改jQuery中的div元素的CSS并获取此响应: $('#first-block').css('color','green') TypeError: Object #<HTMLDivElement> has no method 'css' 但是,当我打电话 $('#first-block') 控制台返回div和它的内容 我正在使用Express.js w / MongoDB,利用Expresscaching中间件。

如何手动从节点应用程序上传文件到服务器

我有服务器处理file upload。 它处理内存中的文件。 处理完成后,我必须将file upload到下一个服务器。 我怎么能做到这一点? 我正在使用express处理file upload到第一台服务器,并restify客户端与第二台服务器进行通信。 所以我有这样的东西: app.post('/first-server',function(req,res,next){ var file_path = req.files.somefile.path; var param1 = req.param('param1') + 'modified'; var param2 = req.param('param2') + 'modified'; doSomethingWithFile(file_path,function(modified_file_stream){ // now I want to post file (stream) and modified params (param1 & param2) to second server }); });

Express.JS:注销而不破坏会话

我有一个Express.js应用程序,我想保留用户所有会话的日志。 这在实现注销function时造成了一些麻烦。 接受的做法是使用session.destroy但我不想这样做,因为它从数据库中删除会话。 是否有可能在不破坏会话的情况下过期?

将express.js路由function的结果传递给另一个路由function

我还在用node.js / express.jsfind我的脚。 我想将一个其他Web服务的结果传递给另一个…或者从两个Web服务函数创build一个新的路由服务… 函数A连接到mysql并构build一​​个json对象 例如 url:端口/ getMySQLRecord /:的recordId 函数B添加一个新的文档(JSON对象)到一个mongoDB集合 它接受一个AJAX POST 例如 url:端口/ insertMongoDoc functionA和B目前都作为REST Web服务工作…(我怎样才能最好地把A的结果传给B?) HTTP客户端调用A并将结果传递给B似乎效率不高。 我的意思是当服务器已经有对象数据时,使用2 x带宽似乎不是最好的select。 如果这是nix我会使用| …

NodeJS:如何处理并行运行的可变数量的callback,并将它们的响应映射到请求?

作为一个自学更多的关于node js的练习,我开始使用aws-sdk为SimpleDB(sdb)创build一个基本的CRUD REST服务器。 一切都运行顺利,直到我得到一个读取域的function。 aws-sdk有两个function: listDomains和domainMetadata 。 listDomains返回一个sdb域名的数组。 domainMetadata将返回有关域的其他统计信息,但一次只返回一个域的统计信息。 它不包含结果中的域名。 我的脚本运行listDomains并在JSON响应中返回一个数组就好了。 我想让我的api readDomains函数更加雄心勃勃,并让它在同一个API调用中返回所有域的元数据。 毕竟,同时运行一些domainMetadata调用是节点的asynchronousio应该发光的地方。 问题是我无法弄清楚如何运行可变数量的调用,使用相同的callback所有这些,将每个domainMetadata调用的结果匹配到它的domainName(因为它是asynchronous的,他们不保证返回请求的顺序),并告诉所有的元数据请求何时完成,以便我可以发送我的最终答复。 把代码放在我的问题领域是: domain.receiveDomainList = function(err, data){ var domainList = []; for(var i=0; i<data.DomainNames.length; i++){ sdb.domainMetaData({"DomainName":data.DomainNames[i]},domain.receiveMetadata); // alternatively: domainList.push({"DomainName":data.DomainNames[i]}); } // alternatively: // async.map(domainList, sdb.domainMetadata, domain.receiveMetadata) console.log(domainList); } domain.receiveMetadata = function (err, data){ // I figure I can stash the results one […]

JSON输出使用Express使用Mysql

我已经在MySQL中创build了一个数据库 mysql> SELECT * FROM test456; +—–+——-+————————-+ | _id | name | image | +—–+——-+————————-+ | 1 | Chris | /home/images/index.jpeg | +—–+——-+————————-+ 1 row in set (0.00 sec) 和我的快车scheme如下 var express = require('express') , http = require('http') , mysql = require('mysql'); // <—- HERE var app = express(); var connection = mysql.createConnection({ host: 'localhost', […]

html文件caching模块

是否有HTML模块文件caching。 例如,每次请求url /abc它都会searchcache文件夹中的文件/abc ,如果find,则将其读入stringvar,然后 res.send (htmlFromCache); 并在每个请求结束它将html写入cache文件夹。 所以硬页面只能加载一次,然后从文件caching中快速加载。