一、效果:
二、实现:
<script>
/*
new File(["First Line Text","Second Line Text"],fileName) //["First Line Text","Second Line Text"]:文件内容;fileName:文件名称
'abc'.repeat(10) //将字符串'abc'重复10次
File继承了Blob的所有属性=》可以看做为特殊的Blob对象
oldBlob.silce([start [, end[, contentType]]])
Blob对象可以通过.slice()得到一个新的Blob对象
FormData为序列化表单
conat formData=new FormData();
formData.append('key','value')把formData传给后台
*/
const file = new File(['aabbcc123'], 'file.txt')
// console.log(file);
// 分片大小
const size = 3
const url = 'https://httpbin.org/post'
chunkUpFn()
async function chunkUpFn() {
for (let i = 0; i < file.size; i += size) {
const chunk = file.slice(i, i + size)
console.log(chunk);
let upData = new FormData()
upData.append('formData', chunk)
await fetch(url, { method: 'post', body: upData }).then(res => {
return res.text()
})
}
}
</script>