Skip to content

Instantly share code, notes, and snippets.

@jsgao0
Created July 10, 2020 16:39
Show Gist options
  • Save jsgao0/f24e49e31569731c60b9622ed971d7a9 to your computer and use it in GitHub Desktop.
Save jsgao0/f24e49e31569731c60b9622ed971d7a9 to your computer and use it in GitHub Desktop.
slicing file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<input type="file" />
<script>
var input = document.getElementsByTagName('input')[0];
const readDataUriFromFile = (file) => {
return new Promise((resolve) => {
const reader = new FileReader();
reader.addEventListener(
'load',
function load() {
resolve(reader.result);
reader.removeEventListener('load', load);
},
false
);
reader.readAsDataURL(file);
});
};
input.addEventListener('change', function() {
var file = this.files[0];
var slice1 = file.slice(0, 10000);
var slice2 = file.slice(10000, file.size);
var newBlob = new Blob([slice1, slice2], { type: file.type });
Promise.all([readDataUriFromFile(file), readDataUriFromFile(newBlob)])
.then(function(r) { console.log(r[0] === r[1])})
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment