开发者社区> 问答> 正文

使用Node.js存储文件到OSS报ECONNRESET错误

Node.js通过Express做的网站,允许用户上传文件,服务端将文件保存到OSS里面。


Node.js的OSS SDK用的是论坛帖子里面推荐的node-oss。


由于要处理大文件以及之后准备断点续传,因此使用的是Multipart方式。


在实际使用的时候发现,因为Express的Bodyparser会将上传的文件自动转存到服务端。这样的话,通过fs.createReadStream将转存的文件读取到readable,然后在通过SDK的方法upload.uploadPart可以正常保存。但是这么做的问题时不必要的磁盘IO,而且太多的转存文件会导致服务器性能和磁盘告警。于是打算直接将请求的文件Stream直接发送给OSS SDK。问题就出现在这里。我取消了Express默认的Bodyparser,手动使用Formidable来处理Request的内容,在onPart函数里面将part参数(文档说这个part也是一个readable stream)直接传递给upload.uploadPart,结果OSS返回[Error: socket hang up] code: 'ECONNRESET'。应该是OSS端关闭了我的Socket。


请问有谁知道这是为什么么?或者我如何能够联系到SDK的作者?谢谢。

展开
收起
老羊肖恩 2013-08-31 00:06:00 19979 0
5 条回答
写回答
取消 提交回答
  • 回4楼预见未来的帖子
    高雄提供的node.js sdk 在使用GetObject时返回的图片数据无法还原,这是什么原因,求指导
    2014-09-19 13:27:37
    赞同 展开评论 打赏
  • Re使用Node.js存储文件到OSS报ECONNRESET错误
    我把论坛里高雄提供的node.js sdk放在github了,并且修复了中文文件名文件上传错误,欢迎大家一起维护。
    https://github.com/Imskull/aliyun-oss-sdk
    2013-11-22 23:04:58
    赞同 展开评论 打赏
  • Re使用Node.js存储文件到OSS报ECONNRESET错误
    不是官方的SDK,目前还没有官方Node.js的SDK。我用的论坛里面推荐的一个Node.js SDK。

    由于我发帖数不到5,还不能帖URL到论坛里面。作者叫高雄
    2013-09-02 17:42:57
    赞同 展开评论 打赏
  • 分享阿里云支持与服务团队最佳实践、经典案例与故障排查。
    楼主您好,您使用的是什么SDK呢?是否为官方提供的SDK呢?如果是官方SDK,我们可以帮您联系一下相关技术人员哦~
    2013-09-02 10:00:13
    赞同 展开评论 打赏
  • 没用过那个SDK,帮你转官方人员了,希望有人来回答
    2013-08-31 12:04:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载