Tag: 表示

用NodeJS Multer转换上传

我目前正在为我的用户实施文件/图片上传服务。 我想在上传到我的S3存储桶之前转换这些图像(resize/优化)。 我现在正在做的是:在我的前端使用多部分表单(我认为这里的实际实现并不重要),以及后端的multer和multer-s3包。 在这里,我的实施被剥夺了重要的部分。 // SETUP var multer = require('multer'); var s3 = require('multer-s3'); var storage = s3({ dirname: 'user/uploads', bucket: auth.aws.s3.bucket, secretAccessKey: auth.aws.s3.secretAccessKey, accessKeyId: auth.aws.s3.accessKeyId, region: auth.aws.s3.region, filename: function (req, file, cb) { cb(null, Date.now()); } }); var upload = multer({storage: storage}).single('img'); // ROUTE module.exports = Router() .post('/', function (req, res, next) { upload(req, […]

Express路由器

我正在开发NodeJS上的内容预处理器我有3种具体的预处理方法: build立HTML build立xhtml build设XML 每种方式都是相互不同的(不同的中间件)所以我初始化了3台路由器: var xmlRouter = express.Router(); var xhtmlRouter = express.Router(); var htmlRouter = express.Router(); 我所需要的是将每个请求发送到具体的路由器。 我不能使用app.use()挂载每个路由器,因为我的url上有剥离效果: // Binding app.use(/\/\S*\.fast\.xml(?=$)/, xmlRouter); app.use(/\/\S*\.xhtml(?=$)/, xhtmlRouter); app.use([/\/\S*\.html(?=$)/, /\/\S*\/(?=$)/], htmlRouter); 我会放松我的url,我需要进一步了解。 没门 那么有没有解决办法?

如何在NodeJS的路由中使用“?param = X”?

在我的nodejs和“express”应用程序中,我有这样的: app.get("/:page?", function (req, res) { var pg = req.params.page; 对应于localhost:123或localhost:123/3 。 不过,我希望能够通过req.params.page以相同的方式获得当前页面, 但 url应该是localhost:123或localhost:123/?page=X 怎么样?

Express和MEAN堆栈中的路由

我正在跟随一个在线实施的在线教程。 一切看起来不错。 除了涉及到路线。 我明白,路线需要在一个JavaScript文件(js扩展名)。 没关系,一个小的网站。 但随着请求数量的增长,我想把它们放在单独的文件中。 我在SOF中查找了如何在Javascript中包含文件。 这是不平凡的。 有没有人遇到过这个问题? 任何人可以评论? 谢谢

在express.js中使用锚标记呈现视图

你如何渲染一个页面,但在express.js路由的锚标记? 所以: website.com/route#id-of-html-element

集成多部件中间件来expression应用程序

我需要在一个请求中接收JSON数据和文件。 所以我一直在使用完美的body-parser 。 但是,我有问题find一个模块与快递工作很好。 这是我的路由器设置: router.post('/', // controllers.requireAuthorization, controllers.multipartMiddleware, function (req, res) { console.log(req.body); return res.json({ body: req.body }); }, controllers.sitters.validate, controllers.sitters.create, controllers.sitters.serialize ); 这就是我的multipart middleare函数的样子,你可以看到我正在使用multiparty: function multipartMiddleware(req, res, next) { if (req.get('Content-Type').indexOf('multipart/form-data') + 1) { new multiparty.Form().parse(req, function (err, fields, files) { console.log(JSON.stringify(files)); req.body = fields; return next(err); }); } else { console.log(req.get('Content-Type')); return […]

ExpressJS后端将请求放入队列中

我有客户端发送任务由服务器执行,但这些请求应该像时尚一样处理队列。 任何想法我怎么能做到这一点? 谢谢。 express.Router().post('/tasks', function(req, res){ //This is the task to perform. While being performed, another user //might send a request AND should only be processed when this is done. //This should also flag the pending task if it is completed. Promise.resolve(req.body) .then(function() { //.. }) .catch(function(error) { //…. }) })

从我的Node.js服务器下载文件时出错

我试图做一个下载链接在我的服务器上的zip文件,我目前得到这个错误:(注意,仍然只是在本地机器上testing) { [Error: ENOENT: no such file or directory, stat 'C:\Users\Jordan\Desktop\Websites\HappyCamel\Users\Jordan\Desktop\Websites\HappyCamel'] errno: -4058, code: 'ENOENT', syscall: 'stat', path: 'C:\\Users\\Jordan\\Desktop\\Websites\\HappyCamel\\Users\\Jordan\\Desktop\\Websites\\HappyCamel', expose: false, statusCode: 404, status: 404 } 相关的代码是这样的: router.get('/file/:name', function(req, res, next) { console.log('test123'); //successfully prints to console res.download('Users/Jordan/Desktop/Websites/HappyCamel/', 'test123.zip', function(err) { console.log('test456'); //successfully prints to console if(err) { console.log(err) //I'm assuming this is source of […]

在“请求”中调用模块的本地函数作为callback

在我的主要代码中,我执行以下操作: var module = require('./module') module.FooA(module.FooB); module.js包含下面的代码: var request = require('request'); //using of npm "request" exports.FooB = function(data){ /*operations on data here*/ }; exports.FooA = function(callback){ var url = some_link; request(url, function (error, response, body) { if (!error && response.statusCode == 200) { callback(body); }; }); }; 问题是显然,即使条件满足, callback(body)也不运行。 var result = request(url)后跟exports.FooB(result)做这个工作,但据我所见,显然不会像callback一样行事,会产生麻烦。 在这种情况下定义callback函数的正确方法是什么? 我是否需要,或者它实际上是同步的,我错过了注意到它?

如何路由CRUD操作?

我有以下代码为node.js,express和MongoDB连接使用mongoose。 首先,我尝试使用一个名为server.js的文件,它没有任何expression式。 但是现在我想用快件来做,但不起作用。 这只是简单的程序,在mongo数据库中读取和创build示例Bear对象。 这里是我的app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); //var routes = require('./routes/index'); var users = require('./routes/users'); var mongoose = require('mongoose'); var db = mongoose.connect('localhost:27017/nodetest1'); //var Bear = require('./routes/users'); var app = express(); // view […]