小编Lig*_*low的帖子

Node.js和Multer - 在回调函数中处理上传文件的目的地(req,res)

我是Node.js的新手,我最近遇到了一个非常简单的问题.

我正在使用名为multer的模块,因此用户可以上传图像.在我的网络应用程序中,所有用户都有一个唯一的ID,我希望上传的图像存储在一个基于其ID的目录中.

例:

.public/uploads/3454367856437534
Run Code Online (Sandbox Code Playgroud)

这是我的routes.js文件的一部分:

// load multer to handle image uploads
var multer  = require('multer');
var saveDir = multer({
  dest: './public/uploads/' + req.user._id, //error, we can not access this id from here
  onFileUploadStart: function (file) { 
  return utils.validateImage(file); //validates the image file type
  }
});

module.exports = function(app, passport) {

app.post('/', saveDir, function(req, res) {
                id     : req.user._id,  //here i can access the user id
    });
});

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能访问

req.user._id 
Run Code Online (Sandbox Code Playgroud)

在...之外

function(req,res)
Run Code Online (Sandbox Code Playgroud)

所以我可以使用它与multer生成基于id的正确目录?

编辑这是我尝试过但没有用的东西:

module.exports = function(app, passport) …
Run Code Online (Sandbox Code Playgroud)

javascript variables upload node.js multer

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

如何计算1 TB以上的文件的哈希值?

因此,我有几个大约1 TB的系统备份映像文件,我想快速计算每个文件的哈希值(最好是SHA-1)。

最初,我尝试计算md5哈希值,已经过去了2个小时,还没有计算出哈希值(对于最大容量为1TB的大型文件,这是显而易见的)。

那么,有没有可以快速哈希1TB文件的程序/实现?

我听说过Tree-Hashing同时散列文件的某些部分,但是到目前为止我还没有找到任何实现。

hash large-data

5
推荐指数
2
解决办法
5217
查看次数

Socket.io - 为私人消息实现用户-套接字关联映射

我正在尝试使用 socket.io 创建一个私人消息系统

为了将用户与其套接字相关联,大多数站点都建议如下:

var people = {};

client.on('connection', function(socket) {

    //join the server
    socket.on('add user', function(user_id) {
        //create user-socket map
        people[user_id] = socket.id;
    });

});
Run Code Online (Sandbox Code Playgroud)

在我看来,上面代码的问题在于它user_id是从客户端发送的,所以如果用户以某种方式修改它并发送另一个user_id,就会发生模拟。

另外,我无法访问req.user._idclient.on('connection'...所以我应该如何user_id从服务器端获取?我正在使用 node.js、passport 和 express。

javascript sockets websocket node.js socket.io

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

py.test - 如何继承其他测试

假设我有两个文件 ( test_file1.py, test_file2.py) 用于使用py.test.

test_file1.py这样的:

import datetime
import pytest

Datetime = datetime.datetime.now()

def test_connect():

  #1st Query to a mysql database

  #2nd Query to a mysql database

  ..

  #N Query to a mysql database
Run Code Online (Sandbox Code Playgroud)

现在我正在编写test_file2.pywhich 是 的扩展test_file1.py,但我不想编写与上面测试中编写的相同的 mysql 查询。

我怎样才能py.test继承上述测试
并在执行后运行两者py.test test_file2.py

像这样的(test_file2.py内容):

import datetime
import pytest

from testDirectory import test_file1

Datetime = datetime.datetime.now()

def test_connect():

  #Here should run all the tests from 'test_file1' …
Run Code Online (Sandbox Code Playgroud)

python inheritance integration-testing unit-testing pytest

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