开发者社区> 问答> 正文

论坛推荐的Node.jsOSSSDK执行Multipart.complete操作有误

(因为级别不过,因此还不能在帖子里面粘贴URL。)


论坛汇总帖里面有一个Node.js的OSS SDK,我在使用的时候发现它的一个实现错误。


现象:当使用Multipart方式上传文件并且Part数量大于10个的时候,执行complete方法就会报错,内容是Part Number不是升序的。
原因:SDK实现complete方法里面,首先针对输入参数parts基于其成员PartNumber排序。但是排序规则按照字符串的进行的。由于字符串'10' < '2',因此如果Part数目超过了10个,那么就会造成排序后的Part里面顺序错误。
解决:注释掉SDK里面排序的部分,自己保证传入的parts参数已经是按照PartNumber升序排列的。

展开
收起
老羊肖恩 2013-09-03 16:45:47 9091 0
3 条回答
写回答
取消 提交回答
  • 回2楼boreas的帖子
    谢谢。

    那个问题解决了,是我的数据长度和Content-Length不匹配造成的。

    我之前还发现了这个SDK的另外一给错误,在Key.getMeta无法获取metadata信息。原因是OSS的Meta操作是通过HTTP Header返回Meta信息,Response没有Body。而SDK里面通过response的end事件返回meta,当没有body的时候end事件不会触发。我把res.on('end')部分注释了,直接调用callback就好了。
    2013-11-18 18:09:31
    赞同 展开评论 打赏
  • 回楼主老羊肖恩的帖子
    多谢你的反馈,你应该是第一个反馈的用户,有空时我会把这个问题更新下的。另外,你提到的这个问题解决了没有? 使用Node.js存储文件到OSS报ECONNRESET错误
    2013-10-30 20:59:58
    赞同 展开评论 打赏
  • 分享阿里云支持与服务团队最佳实践、经典案例与故障排查。
    楼主您好,您所提到的SDK是否为官方提供的SDK呢?能否告知具体的是哪个帖子中提供的SDK?
    2013-09-04 09:49:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
How to Build a Successful Data 立即下载
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载