aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

时间:2021-11-17 08:59:23
问题如题,下面是问题截图
aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?
小文件是可以正常上传的,但是400MB以上就会有有这问题,时间久了会time out.
如下为我的demo:

   AWS.config.update({
accessKeyId : 'accessKeyId',
secretAccessKey : 'secretAccessKey',
region: bucketRegion,
});
var fileChooser = document.getElementById('video_thumb');

var file = fileChooser.files[0];

var s3obj = new AWS.S3({params: {Bucket: bucketName}});
var params = {Key: file.name, Body: file,ContentType: file.type};
var options = {partSize: 2048 * 1024 * 1024, queueSize: 2,leavePartsOnError: true};
s3obj.upload(params,options).
on('httpUploadProgress', function(evt) {
console.log("Uploaded : " + parseInt((evt.loaded * 100) / evt.total)+'%');
}).send(function(err, data) {
if (err) {
console.log("ERROR UPLOADING" + file.name);
console.log(err);
} else {
var url = s3obj.getSignedUrl('getObject', {Key: params.Key});
console.log(url)
}
});

14 个解决方案

#1


沙发,坐等!!!

#2


没人啊 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#3


你就没看了下服务端是什么情况?

#4


引用 3 楼 hanpoyangtitan 的回复:
你就没看了下服务端是什么情况?


关键看不出什么东西啊,这是我s3的cors及策略配置

  <?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <ExposeHeader>ETag</ExposeHeader>
    <ExposeHeader>x-amz-meta-custom-header</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


    {
    "Version": "2012-10-17",
    "Id": "Policy151136430932324",
    "Statement": [
        {
            "Sid": "Stmt1511364123305021",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::043550225340:user/my-user"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::my_bucket/*"
        }
    ]
}

#5


引用 3 楼 hanpoyangtitan 的回复:
你就没看了下服务端是什么情况?

在这方面我也是菜鸟一枚,请多多指导啊 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#6


没人了吗 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#7


你这是js吧?后端是nodejs服务吗?

#8


引用 7 楼 hanpoyangtitan 的回复:
你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

#9


   看看是不是限制了大小呢

#10


引用 9 楼 u014548833 的回复:
   看看是不是限制了大小呢

partSize: 2048 * 1024 * 1024 我设置的参数为两个G,文件就400多MB,应该不是这个原因吧

#11


引用 9 楼 u014548833 的回复:
   看看是不是限制了大小呢

aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?
这次上传成功但是中间中断了大概三四次,然后它自己又会重新上传,好鸡吧蛋疼!!!

#12


引用 8 楼 qq_26579715 的回复:
Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

#13


引用 12 楼 hanpoyangtitan 的回复:
Quote: 引用 8 楼 qq_26579715 的回复:

Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

应该不是,我用java的SDK做过实验,是可以上传的。只不过快慢的问题,但是不会出现这种中断又重新上传的问题

#14


引用 13 楼 qq_26579715 的回复:
Quote: 引用 12 楼 hanpoyangtitan 的回复:

Quote: 引用 8 楼 qq_26579715 的回复:

Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

应该不是,我用java的SDK做过实验,是可以上传的。只不过快慢的问题,但是不会出现这种中断又重新上传的问题

无能为力

#1


沙发,坐等!!!

#2


没人啊 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#3


你就没看了下服务端是什么情况?

#4


引用 3 楼 hanpoyangtitan 的回复:
你就没看了下服务端是什么情况?


关键看不出什么东西啊,这是我s3的cors及策略配置

  <?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <ExposeHeader>ETag</ExposeHeader>
    <ExposeHeader>x-amz-meta-custom-header</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


    {
    "Version": "2012-10-17",
    "Id": "Policy151136430932324",
    "Statement": [
        {
            "Sid": "Stmt1511364123305021",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::043550225340:user/my-user"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::my_bucket/*"
        }
    ]
}

#5


引用 3 楼 hanpoyangtitan 的回复:
你就没看了下服务端是什么情况?

在这方面我也是菜鸟一枚,请多多指导啊 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#6


没人了吗 aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?

#7


你这是js吧?后端是nodejs服务吗?

#8


引用 7 楼 hanpoyangtitan 的回复:
你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

#9


   看看是不是限制了大小呢

#10


引用 9 楼 u014548833 的回复:
   看看是不是限制了大小呢

partSize: 2048 * 1024 * 1024 我设置的参数为两个G,文件就400多MB,应该不是这个原因吧

#11


引用 9 楼 u014548833 的回复:
   看看是不是限制了大小呢

aws s3 upload(js)视频文件上传一部分后会重新上传,什么鬼?
这次上传成功但是中间中断了大概三四次,然后它自己又会重新上传,好鸡吧蛋疼!!!

#12


引用 8 楼 qq_26579715 的回复:
Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

#13


引用 12 楼 hanpoyangtitan 的回复:
Quote: 引用 8 楼 qq_26579715 的回复:

Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

应该不是,我用java的SDK做过实验,是可以上传的。只不过快慢的问题,但是不会出现这种中断又重新上传的问题

#14


引用 13 楼 qq_26579715 的回复:
Quote: 引用 12 楼 hanpoyangtitan 的回复:

Quote: 引用 8 楼 qq_26579715 的回复:

Quote: 引用 7 楼 hanpoyangtitan 的回复:

你这是js吧?后端是nodejs服务吗?

java,我没有走后端,直接连接的s3

确实没用过,aws 不是网络速度很慢吗?会不会和网速有关系

应该不是,我用java的SDK做过实验,是可以上传的。只不过快慢的问题,但是不会出现这种中断又重新上传的问题

无能为力