joplin-notes/joplin notion extension/Web Development/Javascript/file split and merge.md
2026-11-04 00:33:23 +05:30

1 KiB

file split and merge

FrontEnd

<!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>

 

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()