Node.js的&放大器; S3 /写S3与诺克斯 [英] node.js & S3 / Write to s3 with knox

查看:278
本文介绍了Node.js的&放大器; S3 /写S3与诺克斯的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图写S3与诺克斯,通过以下code:

I'm trying to write to S3 with knox, by the following code:

var knox = require('knox');

var client = knox.createClient({
    key: 'key'
    , secret: 'pass'
    , bucket: S3_BUCKET
});

fs.stat("/opt/files/" + url, function(err, stats) {
     if (stats != null && stats.size != 0){
           var req = client.put(url, {
      'Content-Length': stats.size
        });
        req.on('error' ,function (err){
            console.log(err);
        })
        var readstr = fs.createReadStream("/opt/files/" + url);
        readstr.pipe(req);
        readstr.on('error', function (err){
          console.log(err);
        })

它给了我下面的错误在大文件(我查文件900MB):

It gives me the following error for big files (I check file with 900MB):

{ [Error: write ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'write' }

这些证书都行,我成功的关键和放大器登录;秘密访问密钥亚马逊等NPM-包。在addirion,我成功上传小文件与诺克斯。

The certificates are O.K, I success to log in with the key & secret access key to Amazon and other npm-packages. In addirion, I success to upload small files with Knox.

我知道这方面的错误,但我不明白为什么会发生,我该如何解决这个问题。

I know that it connection error, but I don't understand why it happens and how can I solve it.

推荐答案

你是不是用做任何回应。尝试添加监听器的回应事件像登录到到网的请求 req.on('回应',函数(RES){     // ...   });

You aren't doing anything with response. Try to add listener for a 'response' event on the request like

req.on('response', function(res){ // ... });

这篇关于Node.js的&放大器; S3 /写S3与诺克斯的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆