Tag: sails.js

Sails.js:file upload不起作用

我正在sails.js中开发一个REST API。 我正在尝试创build一个将图像上传到服务器的API。 这个API将被我的移动设备调用。 我的上传API如下。 upload: function (req, res) { res.setTimeout(0); req.file('avatar') .upload({ // You can apply a file upload limit (in bytes) maxBytes: 1000000 }, function whenDone(err, uploadedFiles) { if (err) return res.serverError(err); else return res.json({ files: uploadedFiles, textParams: req.params.all() }); }); } 我使用POSTMAN来testing我的API。 我打电话给API如下 我的回应是说没有任何file upload。 我哪里错了?

EJS把手转换 – sails-hook-flash

我正在使用帆钩钩 – 闪光灯 因此,使用EJS的例子 <% flash.get('success').forEach(function (message) { %> <div class="alert alert-success"> <%= message %> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> 有人能帮我看看这可以用把手来完成吗?

如何防止sailsjsfile upload覆盖

我想在sails.js中创build一个file upload器,我已经跟随了文档,并使用saveAs函数,如下所示: create: function(req, res){ var filename = req.file('file')._files[0].stream.filename; var file = req.file('file'); file.upload({dirname: '../../assets/uploads/', saveAs: function (__newFileStream,cb) { cb(null, filename); }}, function(err, uploadedFiles){ if(err){ return res.json(err); } Archivo.create({nombre: uploadedFiles[0].filename, url: '/uploads/' + uploadedFiles[0].filename}).exec(function(err, uploadedFile){ if(err){ return res.json(err); } return res.json(uploadedFile); }); }); }, 创build控制器将带有文件名的file upload到资产文件夹,然后创buildArchivologging 我的问题是,我不想重写文件,如果我再次上传,例如,如果我上传一个名为image.jpg的文件,我再次上传我想第二次重命名为图像(1).jpg 有人知道该怎么做?

在Windows 7中安装sails时出错

安装sails时遇到了follwewing错误 > sails@0.11.0 preinstall E:\jb\npmtest\node_modules\sails > node ./lib/preinstall_npmcheck.js npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\nodejs\\\\node.exe" "C:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "sails" npm ERR! node v0.12.4 npm ERR! npm v2.10.1 npm ERR! file C:\Windows\system32\cmd.exe; npm ERR! path C:\Windows\system32\cmd.exe; npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn C:\Windows\system32\cmd.exe; npm ERR! sails@0.11.0 preinstall: `node ./lib/preinstall_npmcheck.js` npm […]

为新的heroku进程分配子域名

我正在使用node.js&sails。 所以我想产生另一个heroku进程,例如:'node app2.js'并将子域名分配给它,app2.myherokuname.herokuapp.com 那可能吗? 我正在寻找最佳实践来实现微服务架构,所以我可以使用普通的库,模块等。

在服务器重启时,如何区分并恢复来自同一用户的两个不同客户端套接字连接?

想象一下这个场景: 客户端打开浏览器选项卡并导航到page-x。 当客户端在这个页面上时,我通过与此页面相关的套接字发出一些数据。 我们来调用这个socket-context-x。 然后,客户端打开另一个浏览器选项卡(不closures第一个)并导航到页面-y。 他连接一个新的套接字ID。 当客户端在这个页面上时,我开始发送不同的数据。 我们来调用这个socket-context-y。 现在,想象服务器重新启动,客户端的选项卡自动重新连接到服务器。 现在,我必须记住每个具有套接字连接的选项卡的上下文,以便我可以继续向每个页面发送相关数据。 我如何区分每个标签所在的套接字上下文? 我不能使用会话ID,因为会话ID将是相同的两个选项卡。 我不能使用套接字ID,因为服务器重新启动后,当客户端自动重新连接,将给出新的套接字ID。

在passport login中的req.logIn()之后获得空数组

我正面临一个奇怪的行为,我试图做两种types的login,一个用密码和其他作为访客。 护照req.logIn()在用户用密码login的情况下正常工作。 但是当我通过guestlogin时,它会在会话中设置空数组。 让我告诉你什么细节我给护照存储的数据。 在注册用户的情况下 var User = []; User['email'] = "email@domain.com"; User['id_customer'] = "1"; User['id_user'] = "1"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; User['other_info'] = "xyz"; 现在是来宾用户的情况 var User = []; User['email'] = "email@domain.com"; User['id_guest'] = "1"; User['other_info'] = "xyz"; 护照login即req.logIn()是 req.logIn(user, function(err) { if (err) { if(err instanceof Error) { […]

sails js框架中的会话pipe理

我是帆和节点的新手,我正在尝试创build/维护一个没有用户login的会话。 用户发送请求到服务器,我试图通过req.session.uid="some uniqueid"存储会话,当再次同一用户尝试另一个请求我无法获得会话。 对于每个请求,新的会话标识即将到来(会话不持续)。 请通过发布代码或通过参考已经存在的代码来提供帮助。

如何在Sails.js中的所有页面上监听login用户的套接字更新?

我有一个Sails.js应用程序。 每个页面中有当前设置的select(在布局中设置)。 我需要能够监听当前更改的事件的所有页面,并通知用户刷新页面。 我可以在客户端调用io.socket.on('currentChanged') ,只需在CurrentController.changed运行一个发射器。 还是我特别需要听当前的控制器,并包裹在一个if(req.isSocket)的响应? 我如何确保只通知用户,而不是每个人? 有没有更好的办法? 我不想为每个监听器添加相同的套接字响应。 我已经看遍了所有的堆栈溢出和谷歌,不能像这样一个听众一次所有的网页。 编辑:我知道我可以使用req.socket.handshake.sessionID获取会话ID。 我可以得到原始套接字,但我宁愿这样'sails.js'的方式。 此外,在这个链接,这表明我可以join一个房间使用用户ID。 我应该这样做login

自动重新加载sails.js / node.js中的客户端文件

如何自动重新加载客户端文件,如.ejs和JavaScript文件? 我试图永远使用,但它似乎只能自动重新加载模型和controllers.I'm寻找一种方法来自动重新加载客户端文件。