小编Thi*_*ira的帖子

使用Express从NodeJS Server下载文件

如何将我服务器中的文件下载到访问nodeJS服务器中页面的计算机?

我正在使用ExpressJS而且我一直在尝试这个:

app.get('/download', function(req, res){

  var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary');

  res.setHeader('Content-Length', file.length);
  res.write(file, 'binary');
  res.end();
});
Run Code Online (Sandbox Code Playgroud)

但我无法获取文件名和文件类型(或扩展名).任何人都可以帮助我吗?

javascript file download node.js express

283
推荐指数
6
解决办法
33万
查看次数

创建或更新Sequelize

我在我的Nodejs项目中使用Sequelize,我发现了一个问题,我很难解决.基本上我有一个cron从服务器获取一个对象数组,而不是将它作为对象插入我的数据库(对于这种情况,卡通).但如果我已经拥有其中一个对象,我必须更新它.

基本上我有一个对象数组,可以使用BulkCreate()方法.但是当Cron再次启动时,它并没有解决它,因此我需要使用upsert true标志进行某种更新.主要问题:我必须有一个回调,在所有这些创建或更新之后只触发一次.有谁知道我该怎么做?迭代一个对象数组..创建或更新它然后获得一个回调?

感谢您的关注

mysql node.js sequelize.js

36
推荐指数
5
解决办法
5万
查看次数

NodeJS + Mysql与Docker Compose 2

我正在尝试构建一个docker-compose文件来本地部署连接到mysql服务器的NodeJS应用程序.我已经尝试了所有东西(在Stackoverflow中阅读了很多教程和一些问题),但我一直收到ECONNREFUSED错误.这是NodeJS的Dockerfile:

##Nodejs

FROM node:latest

RUN useradd --user-group --create-home --shell /bin/false app

ENV HOME=/home/app

COPY package.json npm-shrinkwrap.json $HOME/playerground/
RUN chown -R app:app $HOME/*

USER app 
WORKDIR $HOME/playerground
RUN npm cache clean && npm install --silent --progress=false

USER root
COPY . $HOME/playerground
RUN chown -R app:app $HOME/*
USER app
Run Code Online (Sandbox Code Playgroud)

这是我的Mysql Dockerfile:

FROM mysql:latest

ENV MYSQL_ROOT_PASSWORD root  
ENV MYSQL_DATABASE playerground  
ENV MYSQL_USER root  
ENV MYSQL_PASSWORD root
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose:

version: '2'
services: 
  db:
    build: ./database
    ports:
      - "3307:3306"  
  playerground:
      build:
        context: .
        dockerfile: Dockerfile
      command: …
Run Code Online (Sandbox Code Playgroud)

mysql node.js docker docker-compose

6
推荐指数
1
解决办法
8769
查看次数

NodeJs的性能问题

我正在使用NodeJ构建实时统计应用程序.对于原型,我在RackSpace服务器中使用四核AMD Opteron,使用Cluster NodeJs(http://learnboost.github.com/cluster/)和使用native nodejs驱动程序的MongoDb 对nodejs服务器进行测试.

基本上我在我的公司项目中插入了一个JS代码,为一堆客户的网站提供内容.这段代码"ping"我的服务器每10秒调用一个图像并传递我在服务器端获得的参数并在MongoDb集合中插入(或更新).在一天的"慢"时间里,我得到大约3000个连接(我在终端上使用netstat -natp命令获得这些连接)每次使我的集群使用大约25%的每个核心(我使用"top"命令获得这些).但是在一个"忙碌"的时刻,我每次获得大约7000多个连接,这使得我的集群变得疯狂(大约80%+使用每个核心),并且随着时间的推移,节点似乎会降级.这是正常的吗?或者Nodejs应该以更"简单"的方式处理这些命中?如果我使用Mongoose,性能会增加吗?

如果你对MongoDb感到好奇,它会使用大约4%的一个核心,这对我来说很好(没有使用索引,使用率约为50%+,但至少,索引解决了这个性能问题).

非常感谢耐心,干杯.

编辑:

生成插入的代码如下所示:db.open(function(err,db){});

return connect.router(function(app){
    app.get("/pingserver/:clientid/:event/:cachecontrol", function(req, res, next){
    event:'+req.params.event + ', cachecontrol:' + req.params.cachecontrol);
        var timestamp = new Date(); 
          switch(req.params.event) {
          case 'load':
              var params = url.parse(req.url, true).query;

              db.collection('clientsessions', function(err, collection)         {
                try {

                    var client = {
                        id: req.params.clientid,
                        state: req.params.event + 'ed',
                        loadTime: timestamp.getTime(),
                        lastEvent: req.params.event,
                        lastEventTime: timestamp.getTime(),
                        lastEventDate: timestamp.toString(),
                        events: [{
                            event: req.params.event,
                            timestamp: timestamp.getTime(),
                            date: timestamp.toString()
                        }],
                        media: {
                            id: params.media.split('|')[0] || null,
                            title: unescape(params.media.split('|')[1]) …
Run Code Online (Sandbox Code Playgroud)

performance mongoose mongodb node.js

5
推荐指数
1
解决办法
4818
查看次数

在获取事件之前的BackboneJS

我有一个集合(使用Backbone.paginator)从服务器获取一组模型并返回给我.此集合用于我的"主视图"和"子视图".在每个视图中,我都有一个on("change")事件,在每个视图中都有一个特殊的事情.我在想是否可以听一些"start fetch"事件(类似于jquery上的beforeLoad)来添加一个加载器gif.Backbone是否提供其中一种?

如果没有..我该如何延长它?

谢谢!

backbone.js backbone-events

4
推荐指数
1
解决办法
3531
查看次数