小编ben*_*n75的帖子

将配置传递给控制器

我正在构建一个node.js应用程序,它将使用knox将文件上传到我的S3存储桶.我可以按预期与S3进行交互,但我想让我的控制器接收配置,这样我就可以使用配置值动态构建我的客户端.

我的问题是如何在没有粗心的情况下将调用堆栈中的配置参数调到我的控制器?

免责声明:我对Node.js比较陌生,所以可能只是我对出口差异的了解不足.和module.exports.*

以下是交互如何与我的代码一起使用的示例:

app.js

...
config = require('./config/config')['env'];
require('./config/router')(app, config);
...
Run Code Online (Sandbox Code Playgroud)

router.js

module.exports = function(app, config) {
...
  var controller = require('../app/controllers/home'); //Is there a way for me to pass config here?
  app.post('/upload', controller.upload); //Or here?
...
}
Run Code Online (Sandbox Code Playgroud)

home.js

var knox = require('knox');

var client = knox.createClient({ ... }); //I want to use config.key, config.secret, etc instead of hard-coded values
...
exports.upload = function(req, res) {
  //Use client
}
...
Run Code Online (Sandbox Code Playgroud)

node.js express knox-amazon-s3-client

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

Handler.postAtTime vs Handler.postDelayed

android Handler类包含此方法:

public final boolean postAtTime (Runnable r, Object token, long uptimeMillis)
Run Code Online (Sandbox Code Playgroud)

在给定时间发布Runnable.在token以后可以用于去除回调r从消息队列由于这种方法:

public final void removeCallbacks (Runnable r, Object token)
Run Code Online (Sandbox Code Playgroud)

Handler类中不存在以下方法

public final boolean postDelayed (Runnable r, Object token, long delay)
Run Code Online (Sandbox Code Playgroud)

有没有提供这种方法的充分理由?

java android

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

对于node.js,knox和AWS SDK有什么区别?

......据我了解,他们做同样的事情:提供对Amazon Web Services的访问.有人可以提供这两个库之间不同功能的列表吗?如果亚马逊已经提供产品,为什么还存在knox?

amazon-web-services node.js knox-amazon-s3-client

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

Node.js knox s3图像检索

我正在尝试使用以下方法从节点中的s3检索图像:

app.get('/photos', function(req, res, next) {
var data = '';
s3.get('/tmp/DSC_0904.jpg').on('response', function(s3res){
    console.log(s3res.statusCode);
    console.log(s3res.headers);
    s3res.setEncoding('binary');
    s3res.on('data', function(chunk){
      data += chunk;
    });
    s3res.on('end', function() {
      res.contentType('image/jpeg');
      res.send(data);
    });
  }).end();
});
Run Code Online (Sandbox Code Playgroud)

我愿意接受为什么这不起作用的建议.

javascript download amazon-s3 node.js knox-amazon-s3-client

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

nodejs knox输入s3导致403

我正在尝试使用nodejs项目中的knox上传到Amazon s3存储桶,但无法通过403错误.我确保正确设置密钥,密钥和存储桶.我可以从那些有经验的人那里得到一些帮助.

我的节点代码如下:

var upload_test = function(){

var client = knox.createClient(
    {
      key: config.aws.key
    , secret: config.aws.secret
    , bucket: config.aws.bucket
    }
);

fs.readFile('test.pdf', function(err,buf){
    var req = client.put('6530/test.pdf', {
        'Content-length': buf.length,
        'Content-Type': 'application/pdf'
    });
    req.on('response',function(res){
        if(res.statusCode === 200){
            console.log('Success!');
            req.on('data',function(chunk) {
                console.log(chunk);
            });
        }
        else {
            console.log("Error statusCode: " + res.statusCode);
            console.log("URL: " + req.url);
            req.on('data',function(chunk){
                console.log(chunk);
            });
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

}

amazon-s3 node.js knox-amazon-s3-client

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

IntelliJ快捷方式强制maven重新导入

IntelliJ IDEA是否有快捷方式强制maven项目重新导入(重新加载依赖项).我碰巧正在处理两个依赖项目,我在白天多次做这个动作.

提前致谢.

java intellij-idea maven

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

Android:将位图保存为bmp文件格式

我在内存中有一个Bitmap,我需要将它保存在bmp文件中(使用bmp文件格式).

有没有办法在Android上做到这一点?

(我读了很多帖子建议使用png格式 - 这是无损 - 但是,这不是我需要的:我真的需要bmp格式).

我已经有一些代码使用Bitmap.compress方法将其保存在jpeg或png中:

/**
 * Save data to file using format.
 * When format is null : the bitmap will be saved in bmp format
 **/

public void writeBitmapToFile(Bitmap data, File file, Bitmap.CompressFormat format) {
    FileOutputStream os = null;
    try {
        os = new FileOutputStream(file);
        if(format==null){

            //TODO : write data to file using the bmp format

        }else{
            data.compress(format, 100, os); //ok for JPEG and PNG
        }
        os.flush();
    } catch …
Run Code Online (Sandbox Code Playgroud)

java android bitmap bmp

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

在sql server中使用这些关键字有什么用(UPDLOCK,ROWLOCK READPAST)

我想知道这些关键字在sql server (UPDLOCK, ROWLOCK READPAST)中的用途以及何时使用它?我的意思是人们在什么样的情况下去(UPDLOCK, ROWLOCK READPAST).

1) select top 1 COMMAND
from EXAMPLE_TABLE
with (UPDLOCK, ROWLOCK)
where PROCESSED=false;
Run Code Online (Sandbox Code Playgroud)

刚才看到他们使用的上面的sql UPDLOCK,ROWLOCK是什么UPDLOCK,ROWLOCK

会发生什么UPDLOCK,ROWLOCK

2) SELECT TOP(1) COMMAND, PROCESSED
  FROM TABLE WITH (READPAST)
  WHERE PROCESSED = 0
Run Code Online (Sandbox Code Playgroud)

是什么READPAST?当我们使用时READPAST会发生什么?

3) UPDATE  OrderTable WITH ( ROWLOCK )
    SET     ProcessorID = @PROCID
    WHERE   OrderID IN ( SELECT TOP ( 20 )
                                        OrderID
                                FROM    OrderTable WITH ( ROWLOCK …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

TypeError:使用knox上传时在非对象上调用Object.keys

我正在使用knox(https://github.com/LearnBoost/knox)将文件上传到Amazon S3.我刚刚将我的节点应用程序移动到Amazon EC2,并在使用knox上传时出现以下错误.我似乎安装了所有库.nodejitsu上的代码相同.我对node/JS很新,所以我不确定这意味着什么.

/home/ec2-user/foo/node_modules/knox/lib/auth.js:208
Object.keys(url.query).forEach(function (key) {
^
TypeError: Object.keys called on non-object
at Function.keys (native)
at Object.exports.canonicalizeResource (/home/ec2-user/foo/node_modules/knox/lib/auth.js:208:10)
at Client.request (/home/ec2-user/foo/node_modules/knox/lib/client.js:275:22)
at Client.put (/home/ec2-user/foo/node_modules/knox/lib/client.js:326:15)
at Client.putStream (/home/ec2-user/foo/node_modules/knox/lib/client.js:408:18)
at /home/ec2-user/foo/node_modules/knox/lib/client.js:378:20
at Object.oncomplete (fs.js:93:15)
Run Code Online (Sandbox Code Playgroud)

node.js knox-amazon-s3-client

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

如何控制工作区Jenkins开始构建?

我有一个Jenkins主节点和2个Jenkins从节点.我的所有工作构建都发生在从属节点中.当我配置我的奴隶时,我设置了Remote root directoryas /data/home/jenkins/jenkins-slave.此外,我DEVELOP_BRANCH在相应作业的作业配置页面中提供自定义工作区选项.

但是,在作业开始时,我会收到以下日志信息:

Building remotely on linux in workspace /data/home/jenkins/jenkins-slave/workspace/DEVELOP_BRANCH
Run Code Online (Sandbox Code Playgroud)

我想在这个位置开始我的构建.

/data/home/jenkins/jenkins-slave/DEVELOP_BRANCH
Run Code Online (Sandbox Code Playgroud)

为什么额外的工作空间目录会出现在图片中?我该如何删除它?我无法访问Jenkins主节点.因此,如果有一个可以满足我要求的解决方法,那就太棒了.

注意:按节点,我指的是具有redHat分发的Linux OS计算机.

jenkins jenkins-slave

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