Skip to content

Instantly share code, notes, and snippets.

@clouddueling
Created March 3, 2013 07:34
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clouddueling/5075201 to your computer and use it in GitHub Desktop.
Save clouddueling/5075201 to your computer and use it in GitHub Desktop.
resumable.js example
var uploader = (function(){
var r = Resumable({
target: '/upload/stream',
chunkSize: 1*1024*1024,
query: {
serie_id: {{ $serie->id }}
}
}),
fileList = $('.file-list');
if (! r.support) {
// show links to download chrome, firefox, safari, and ie
}
r.assignBrowse(document.getElementById('browse-button'));
r.assignDrop(document.getElementById('drop-target'));
r.on('fileAdded', function(file){
var page = "<tr data-file-unique-identifier='" + file.uniqueIdentifier + "'>" +
"<td>" + file.fileName + "<td>" +
"<td width='100%'>" +
"<div class='progress mtl'>" +
"<div class='bar' style='width: 0%;'></div>" +
"</div>" +
"</td>" +
"<td class='right-text'>" +
"<span class='btn btn-small btn-primary progress-pause-upload'><i class='icon-pause'></i></span>" +
"</td>" +
"<td class='right-text'>" +
"<span class='btn btn-small btn-primary progress-resume-upload'><i class='icon-play'></i></span>" +
"</td>" +
"</tr>";
fileList.append(page);
r.upload();
});
r.on('fileSuccess', function(file,message){
$('[data-file-unique-identifier=' + file.uniqueIdentifier + ']').find('.bar').addClass('bar-success').css('width', '100%').closest('tr').show().delay(2000).remove();
var inputs = {
'filename': file.fileName,
'serie_id': {{ $serie->id }}
}
$.post('/upload/create', inputs, function(data){
$.post('/serie/read_last_upload', inputs, function(data){
var json = jQuery.parseJSON(data);
$('.whats-included').append(json.page);
$('.whats-included .media').last().find('.editable').editable();
});
});
});
r.on('fileError', function(file, message){
$('[data-file-unique-identifier=' + file.uniqueIdentifier + ']').find('.bar').addClass('bar-danger');
});
r.on('pause', function(){
l(1);
});
r.on('fileProgress', function(file, message) {
var progress = Math.floor(file.progress() * 100);
$('[data-file-unique-identifier=' + file.uniqueIdentifier + ']').find('.bar').css('width', progress + '%');
});
fileList.on('click', '.progress-pause-upload', function(){
var identifier = $(this).closest('tr').data('file-unique-identifier'),
file = r.getFromUniqueIdentifier(identifier);
file.resumableObj.pause();
});
fileList.on('click', '.progress-resume-upload', function(){
var identifier = $(this).closest('tr').data('file-unique-identifier'),
file = r.getFromUniqueIdentifier(identifier);
file.resumableObj.upload();
});
})();
@clouddueling
Copy link
Author

laravel multi part upload just for keywords ;)

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