initial
This commit is contained in:
commit
74ae93a96e
1 changed files with 94691 additions and 0 deletions
|
|
@ -0,0 +1,57 @@
|
|||
file split and merge
|
||||
|
||||
FrontEnd
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<input id="fileInput" type="file" name="" id=""><br>
|
||||
<button onclick="submit()" id="submit">Submit</button>
|
||||
<script src="script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
```js
|
||||
const fileEle=document.querySelector("#fileInput")
|
||||
const sliceSize=10*1024*1024 // 10MB
|
||||
|
||||
const submit=()=>{
|
||||
const file= fileEle.files[0]
|
||||
const fileSize=file.size
|
||||
|
||||
let start=0;
|
||||
let end=sliceSize
|
||||
|
||||
const filePieces=[]
|
||||
while(end<=fileSize)
|
||||
{
|
||||
const chunk = file.slice(start,end)
|
||||
filePieces.push(chunk)
|
||||
start=end
|
||||
end+=sliceSize
|
||||
}
|
||||
|
||||
if(start<fileSize)
|
||||
{
|
||||
const chunk = file.slice(start,fileSize)
|
||||
filePieces.push(chunk)
|
||||
}
|
||||
|
||||
console.log('file: ',file)
|
||||
console.log('filePieces: ',filePieces)
|
||||
|
||||
const blob=new Blob(filePieces)
|
||||
const a=document.createElement("a")
|
||||
const link=URL.createObjectURL(blob)
|
||||
a.href= link
|
||||
a.download="something1"
|
||||
a.click()
|
||||
|
||||
|
||||
```
|
||||
Loading…
Reference in a new issue