开发者社区> 问答> 正文

JS使用OSS上传文件时遇到InvalidPart错误

我是用的官方文档的代码测试的,使用multipartUpload方法。
代码如下: document.getElementById('file').addEventListener('change', function (e) {
var file = e.target.files[0];
var storeAs = 'upload-file';
console.log(file.name + ' => ' + storeAs);
var client = new OSS.Wrapper({
  accessKeyId: '****************',
  accessKeySecret: '************',
  stsToken: '****************',
  endpoint: '************',
  bucket: '*************'
});
client.multipartUpload(storeAs, file).then(function (result) {
console.log(result);
}).catch(function (err) {
console.log(err);
});
});



client的各参数确认是在后台获取之后放到JS对象里面的,我只上传了一个文件,然后控制台报错:

POST <--requestUrl--> 400 (Bad Request)
index.html:30 Error: One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag.
    at o.<anonymous> (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:4:16188)
    at i (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:23661)
    at u._invoke (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:25098)
    at u.e.(anonymous function) [as next] (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:23840)
    at i (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:23661)
    at u._invoke (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:24720)
    at u.e.(anonymous function) [as next] (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:6:23840)
    at a (file:///C:/Users/Administrator/Desktop/TestAliyun/aliyun-oss-sdk-4.4.4.min.js:9:25589)
    at <anonymous>


然后响应返回:


    <Error>
         <Code>InvalidPart</Code>

展开
收起
粤语残片 2017-10-14 17:24:33 10595 0
5 条回答
写回答
取消 提交回答
  • 本回答引用自以下KB文档:OSS在使用分片上传方式上传文件时报InvalidPart错误

    更多帮助请访问以下站点:

    2021-08-31 15:46:40
    赞同 展开评论 打赏
  • 400 InvalidPart,通常是配置OSS跨域时,暴露的headers没有加ETag导致。

    2019-12-28 21:52:26
    赞同 展开评论 打赏
  • 回 3楼粤语残片的帖子
    请问一下,问题解决了么?遇到同样的问题,检查发现控制台可以看到response有ETag返回,但是程序中拿不到ETag,以至于CompleteMultipartUpload发送的数据ETag不存在,导致请求失败.如果解决请告知一下.

    -------------------------

    回 2楼dongshan8的帖子
    版主您好,能帮忙顶一下这个帖子么?遇到同样的问题无法解决.

    -------------------------

    回 6楼dongshan8的帖子
    感谢版主,问题解决了,要在跨域设置里面的暴露 Headers增加一条ETag,就可以了.
    2018-01-08 20:09:59
    赞同 展开评论 打赏
  • 旺旺:nectar2。
    楼主您好,

    InvalidPart的错误原因,请参见: https://help.aliyun.com/document_detail/32005.html?spm=5176.doc32083.2.1.a7iU0w

    为您将帖子移到OSS版块,希望能有更快的回复喔。

    -------------------------

    回 5楼(唐雨柔) 的帖子
    版主回复:

    帖子已经在OSS版块了,如果您经多次测试还是不成功,可提交工单,咨询一下阿里云官方的工程师喔: https://workorder.console.aliyun.com/

    -------------------------

    回 7楼(唐雨柔) 的帖子
    版主回复:

    很高兴听到您已经解决了问题,且分享了解问题的方法。

    欢迎有空时,多来论坛逛逛喔。
    2017-10-15 09:58:41
    赞同 展开评论 打赏
  • ReJS使用OSS上传文件时遇到InvalidPart错误
    1. 响应返回如下:

    2. <Error>
    3. <Code>InvalidPart</Code>
    4. <Message>One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag.</Message>
    5. <RequestId>59E1CAFC12058D732A41CC89</RequestId>
    6. <HostId>wangqi20171014.oss-cn-hangzhou.aliyuncs.com</HostId>
    7. <ETag>undefined</ETag>
    8. <PartNumber>1</PartNumber>
    9. <UploadId>9206F3C082894FF9A7311D5AAED682C6</UploadId>
    10. </Error>

    11. 请问这个应该怎么解决呢?

    -------------------------

    回 2楼dongshan8的帖子
    好的,谢谢!
    2017-10-14 17:25:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载