Javascript:上传大视频

Javascript:上传大视频,javascript,amazon-web-services,amazon-s3,file-upload,Javascript,Amazon Web Services,Amazon S3,File Upload,我正在尝试使用从浏览器直接将7GB视频文件上载到s3存储桶 输入文件 File: { ... name: "movie.mp4" size: 7000000000 type: "video/mp4" webkitRelativePath: "" __proto__: File } 为了将文件作为5GB部分上传,我将其相应地切片并收到两个blob: // Part 1 //

我正在尝试使用从浏览器直接将7GB视频文件上载到s3存储桶

输入文件

File: { 
  ...
  name: "movie.mp4"
  size: 7000000000
  type: "video/mp4"
  webkitRelativePath: ""
  __proto__: File
}
为了将文件作为5GB部分上传,我将其相应地切片并收到两个blob:

// Part 1                    // Part 2
 Blob {                       Blob {
  size: 5000000000             size: 2000000000 // remainder
  type: ""                     type: ""
__proto__: Blob                __proto__: Blob
}                            }
我的问题是,我应该如何操纵这些blob的内容,使其也符合所需的请求结构?我应该通过创建
ArrayBuffer
还是
二进制字符串
?以下是我目前对第1部分的XHR请求,使用:


使用JavaScript SDK时,允许的主体类型有
缓冲区、类型化数组、Blob、String、ReadableStream
。请参见@JosefWittmann您能否提供一个将Blob变异为其中一种体型并在请求中准确表示的示例?因为AWS接受
Blob
,我只想尝试
数据:myBlob
。失败了吗?@JosefWittmann只发送了一个空对象
axios({
    url: https://upload-video.s3.us-east-1.amazonaws.com/movie.mp4,
    method: 'PUT',
    headers: {
        'Content-Type' : 'video/',
        'x-amz-date' : new Date().toISOString(),
        'x-amz-content-sha256' : 'UNSIGNED-PAYLOAD',
        'Authorization' : AWS4-HMAC-SHA256 Credential=AWSACCCESSKEY/20210105/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6ce86f07e037469deff59f1f510edaa5139f434eec3fd0
    },
    params: {
        partNumber: 1,
        uploadId: xh6YCju9R5cFCdCwFwy9.mhf3cdzJT7M6j2mh2qaUeBO7C5ori2so06 // UPLOAD_ID_FROM_AWS
    },
    data: // ?? what should I insert here ??
})