Articles of 表示

我怎样才能将参数从Express路由传递到Node中间件

我无法在文档中find答案,我希望有办法做我所需要的。 我有一些快递路线: app.post( '/submit-agency-event' , eventService.submitEvent ); app.post( '/submit-question' , formService.submitQuestion ); app.post( '/submit-information-request' , formService.submitInformationRequest ); app.post( '/social-worker-register-family' , familyService.registerFamily ); 每个路由使用中间件文件中的函数来处理请求。 我想限制一个路由只有一些用户types(这是存储在req.user.userType )。 我想设置类似于以下的路线: app.post( '/social-worker-register-child' , middleware.requireUsersOfType( ['admin, social worker'] ), childService.registerChild ); 那么在调用requireUsersOfType() ,使用函数requireUsersOfType()来处理处理和任何所需的redirect。 exports.requireUsersOfType = ( req, res, next, userTypesArray ) => { // processing }; 我似乎无法弄清楚的是如何将parameter passing给requireUsersOfType()函数。 有谁知道这可以做到吗?

将许多video呈现给客户端的最佳方式是什么?

我有一个nodejs服务器,呈现媒体内容回到我的反应原生移动设备。 可以说我们有100个用户同时在我的移动应用页面上加载100个video。 加载数据的最佳解决scheme是什么?为什么? 我有点卡在使用数据uri / base64编码所有的video内容与简单地从端点获取文件,即 <video src="http://domain/videos/" />. 我倾向于直接加载video文件,因为它会绕过base64编码的video数据; 从而节省移动内存并提高性能。 理想情况下,另一个替代scheme(最佳解决scheme)是通过websocket连接将video数据stream发送回客户端; 那么每个数据块将被传递给video元素进行渲染。 唯一的问题是我不得不base64编码的数据。

Dropbox API – 文件读取和上传node.js

我正在使用dropbox API从node.js文件结构读取文件,然后将该file upload到保pipe箱文件夹中。 文件被上传,但是其上传的文件的大小为0字节 var path = require("path"); var temp_dir = path.join(process.cwd(), 'pdf/'); if (!fs.existsSync(temp_dir)) fs.mkdirSync(temp_dir); fs.readFile(temp_dir + 'report.pdf', function read(err, data) { if (err) { throw err; } fileupload(data); }); file upload代码: function fileupload(name, content) { request.put('https://api-content.dropbox.com/1/files_put/auto/my_reports/report.pdf', { headers: { Authorization: 'TOKEN HERE', 'Content-Type': 'application/pdf' }, body: content }, function optionalCallback(err, httpResponse, bodymsg) { […]

Express(NodeJS)无法处理从Xamarin Android应用程序发布

我有几个设备与本地服务器上的Express应用程序进行交互。 对于原型演示的目的,我试图尽可能简单。 在许多其他事情中,我的本地服务器与图像进行交互,并在/ uploads文件夹中映像数据: (Express / NodeJS代码): app.route('/uploads') //Send File to Android .get( function (req, res) { var images = fs.readdirSync('./uploads'); console.log(images[images.length-1]); var imgpath = path.resolve('./uploads/' + images[images.length-1]); res.sendFile(imgpath); //res.end('Image List Sent') }) //Receive image chip data from Android .post( function (req, res) { Console.log("insideit"); Console.log(req.body); res.end('got something?') }); 此服务器代码正在接收来自C#Android代码的请求。 GET命令完美工作,所以我将省略Xamarin / C#代码。 从Android应用程序的POST命令是(在C#/ Xamarin): […]

如何通过节点js运行复杂的cassandra sql

我试图从node.js运行复杂的cassandra的SQL和使用cassandra express包,下面是查询: client.execute("select distinct c.objekt PSP, b.bestellung purchase_order, b.details, b.bestellnettowert Budget, c.Interim_Amounts, c.belegdatum, b.cost_centre from (select objekt, sum("Wert/KWahr") Interim_Amounts, belegdatum, bestellung from bdr.cj74 where year(belegdatum) = '2016' group by objekt, belegdatum, bestellung) c, (select bestellung, "Lieferant/Lieferwerk" details, bestellnettowert, belegdatum, "PSP-Elm", "Kostenst." cost_centre from bdr.opexcapex where year(opexcapex.belegdatum) = '2016') b where b."PSP-Elm" = c.objekt and year(c.belegdatum) […]

node.js express-uploadFile未定义

我试图用中间件express-uploadFile上传一个.txt文件。 但是,当我尝试testing它时,我的文件是未定义的。 var express = require('express'); var fs = require('fs'); var bodyParser = require('body-parser'); var fileUpload = require('express-fileupload'); var app = express() app.use(fileUpload()); app.use(bodyParser.urlencoded({ extended: false })) app.post('/send', function(req, res){ console.log(req.files.UploadBox); console.log(req.body.Question); }); <form id="Izone" action="/send/" method="post" encType="multipart/form-data"> <input type="text" name="Question" id="Question" placeholder="Question" autofocus autocomplete="off"><br/><br/> <label for="UploadBox" id="UploadBoxStyle"> Upload File </label> <input type="file" name="UploadBox" id="UploadBox"> […]

Amazon S3 – 编辑上传的图像

概述:我正在使用Amazon S3来让用户上传图片。 我一直在编辑路线,以便用户可以在上传后编辑他们的图像。 我正在通过一个PUT路线来做这件事。 这是我目前的解决scheme。 它可以覆盖当前的图像。 问题:如果用户select零新图像,则会覆盖具有空白文件path的旧图像。 也就是编辑后没有图像显示。 如果用户只尝试编辑一个图像,同样的事情发生,一个图像将更新,但其他图像将被空白文件path覆盖,所以没有图像显示。 问题:让用户使用Amazon S3和Multer-S3编辑图像的正确方法是什么? 谢谢你的帮助! 🙂 app.put("/:id", function(req, res){ upload(req,res,function(err) { if(err) { console.log(err); res.redirect('/') } var filepath = undefined; var filepath2 = undefined; var filepath3 = undefined; if(req.files[0]) { filepath = req.files[0].key; } if(req.files[1]) { filepath2 = req.files[1].key; } if(req.files[2]) { filepath3 = req.files[2].key; } var image […]

如何将sails集成到现有的快速nodejs应用程序中

我有一个现有的快速服务器设置,我想尝试将sails合并到它使用它提供的MVC结构。 这可能吗?

与expressjs不工作,404错误的instagram

我一直得到404错误,我做错了什么? 我拥有所有的client_id,secret和token密钥。 var inst = require('instagram-node').instagram(); var app = express(); inst.use({ client_id: '-', client_secret: '-', access_token: '-' }); app.get('/', function (req, res) { inst.user_self_feed(function(err, medias, pagination, remaining, limit) { if (err){ res.send(err.body); console.log('error'); } else res.send(medias); }); // res.render('home'); });

是否有可能使用res.render多次渲染局部variables

我有一个关于res.render的问题。 我正在尝试为我的网站构build一个非常简单的消息传递function,而不是像个人消息,Dms等那样进行实时聊天。我正在使用handlebars来呈现html和node.js。 app.get('/dashboard/messages/',ensureAuthenticated,function(req,res) { res.render('messages'); Msg.find({ username: req.user.username }, 'username message sender', function (err, msg) { if (err) { console.log('notfound') return handleError(err); } else{ var msgSender = [] msg.forEach(function(msg){ var Obj = { 'sender': msg.sender, 'message':msg.message } msgSender.push(Obj) }) console.log(msgSender.sender) res.render('messages',{'sender': msgSender.sender, 'message': msgSender.message}) 主要的问题是,如果我把一个for循环渲染只加载最后发送给用户的消息。 而且你也不能设置标题。 我正在考虑做一个res.send{'sender': msgSender.sender, 'message': msgSender.message}) 。 这里是handblebar代码: <div class="panel panel-default"> […]