Skip to content

Instantly share code, notes, and snippets.

@cbourdage
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save cbourdage/b1b46f1c4ddec6efd6d6 to your computer and use it in GitHub Desktop.

Select an option

Save cbourdage/b1b46f1c4ddec6efd6d6 to your computer and use it in GitHub Desktop.
Snippet for ajax file uploading
document.getElementById('form').addEventListener('submit', function(e) {
var form = this,
files = document.getElementById('file').files;
var reader = new FileReader();
reader.onloadend = (function(file) {
return function(e) {
if (e.target.readyState == FileReader.DONE) {
document.getElementById('file-contents').value = btoa(e.target.result);
document.getElementById('file-name').value = escape(file.name);
$.ajax({
url: form.getAttribute('action'),
type: 'post',
data: $(form).serialize(),
context: document.body
}).done(function(response) {
console.log(location.href, response);
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', location.href, response, '"/>'].join('');
document.getElementById('form').insertBefore(span, null);
});
}
}
})(files[0]);
reader.readAsBinaryString(files[0].slice(0, files[0].size - 1));
e.preventDefault();
return false;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment