Skip to content

Instantly share code, notes, and snippets.

@shiawuen
Created December 29, 2011 15:05
Show Gist options
  • Select an option

  • Save shiawuen/1534477 to your computer and use it in GitHub Desktop.

Select an option

Save shiawuen/1534477 to your computer and use it in GitHub Desktop.
Sample to upload file by chunk
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>test upload by chunk</title>
</head>
<body>
<input type="file" id="f" />
<script src="script.js"></script>
</body>
</html>
(function() {
var f = document.getElementById('f');
if (f.files.length)
processFile();
f.addEventListener('change', processFile, false);
function processFile(e) {
var file = f.files[0];
var size = file.size;
var sliceSize = 256;
var start = 0;
setTimeout(loop, 1);
function loop() {
var end = start + sliceSize;
if (size - end < 0) {
end = size;
}
var s = slice(file, start, end);
send(s, start, end);
if (end < size) {
start += sliceSize;
setTimeout(loop, 1);
}
}
}
function send(piece, start, end) {
var formdata = new FormData();
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
formdata.append('start', start);
formdata.append('end', end);
formdata.append('file', piece);
xhr.send(formdata);
}
/**
* Formalize file.slice
*/
function slice(file, start, end) {
var slice = file.mozSlice ? file.mozSlice :
file.webkitSlice ? file.webkitSlice :
file.slice ? file.slice : noop;
return slice.bind(file)(start, end);
}
function noop() {
}
})();
@kicktv
Copy link

kicktv commented Nov 5, 2025

Is it really possible to upload using only HTML and JavaScript code without using PHP code?

@ufukomer
Copy link

ufukomer commented Nov 5, 2025

Is it really possible to upload using only HTML and JavaScript code without using PHP code?

yes, it is, if you use an external API or backend service that accepts file uploads.

@kicktv
Copy link

kicktv commented Nov 5, 2025

Yes, but I didn't see any API link for an external file-sharing site.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment