diff options
author | zotlabs <mike@macgirvin.com> | 2017-11-30 19:05:24 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2017-11-30 19:05:24 -0800 |
commit | 0e8e0b48b3fd6f4d6d0dd60039743371930af08d (patch) | |
tree | 6336317a2295344f112470f6778821aaebf9c1bc | |
parent | cc0d53e6959f333d26003af64439b2fd8a8d665c (diff) | |
download | volse-hubzilla-0e8e0b48b3fd6f4d6d0dd60039743371930af08d.tar.gz volse-hubzilla-0e8e0b48b3fd6f4d6d0dd60039743371930af08d.tar.bz2 volse-hubzilla-0e8e0b48b3fd6f4d6d0dd60039743371930af08d.zip |
more or less working chunked uploads on /cloud now.
-rw-r--r-- | Zotlabs/Module/File_upload.php | 2 | ||||
-rw-r--r-- | view/js/mod_cloud.js | 50 | ||||
-rw-r--r-- | view/tpl/cloud_actionspanel.tpl | 2 |
3 files changed, 22 insertions, 32 deletions
diff --git a/Zotlabs/Module/File_upload.php b/Zotlabs/Module/File_upload.php index e2a6d45e5..90761fa9c 100644 --- a/Zotlabs/Module/File_upload.php +++ b/Zotlabs/Module/File_upload.php @@ -64,6 +64,8 @@ class File_upload extends \Zotlabs\Web\Controller { if($partial) { $x = save_chunk($channel,$matches[1],$matches[2],$matches[3]); + +logger('save_chunk: ' . print_r($x,true)); if($x['partial']) { header('Range: bytes=0-' . (($x['length']) ? $x['length'] - 1 : 0)); json_return_and_die($result); diff --git a/view/js/mod_cloud.js b/view/js/mod_cloud.js index 0756c34e3..9f2a007f3 100644 --- a/view/js/mod_cloud.js +++ b/view/js/mod_cloud.js @@ -18,58 +18,46 @@ function UploadInit() { var submit = $("#upload-submit"); var count = 1; + $('#invisible-cloud-file-upload').fileupload({ url: 'file_upload', dataType: 'json', dropZone: filedrag, formData: $('#ajax-upload-files').serializeArray(), - maxChunkSize: 100000, // 4 * 1024 * 1024, + maxChunkSize: 4 * 1024 * 1024, add: function(e,data) { - $(data.files).each( function() { this.count = ++ count; prepareHtml(this) }); + $(data.files).each( function() { this.count = ++ count; prepareHtml(this); }); + data.submit(); }, -// submit: function(e,data) { -// e.preventDefault(); -// }, - -// done: function(e,data) { -// addeditortext(data.result.message); -// $('#jot-media').val($('#jot-media').val() + data.result.message); -// }, -// stop: function(e,data) { -// preview_post(); -// $('#profile-rotator').hide(); -// }, - }); - $('#upload-submit').click(function(event) { event.preventDefault(); $('#invisible-cloud-file-upload').trigger('click'); return false;}); + progress: function(e,data) { + + // there will only be one file, the one we are looking for + $(data.files).each( function() { + var idx = this.count; + // Dynamically update the percentage complete displayed in the file upload list + $('#upload-progress-' + idx).html(Math.round(data.loaded / data.total * 100) + '%'); + $('#upload-progress-bar-' + idx).css('background-size', Math.round(data.loaded / data.total * 100) + '%'); + }); + }, - // is XHR2 available? -// var xhr = new XMLHttpRequest(); -// if (xhr.upload) { - // file select -// fileselect.attr("multiple", 'multiple'); -// fileselect.on("change", UploadFileSelectHandler); + stop: function(e,data) { + window.location.href = window.location.href; + } - // file submit -// submit.on("click", fileselect, UploadFileSelectHandler); + }); - // file drop -// filedrag.on("dragover", DragDropUploadFileHover); -// filedrag.on("dragleave", DragDropUploadFileHover); -// filedrag.on("drop", DragDropUploadFileSelectHandler); -// } + $('#upload-submit').click(function(event) { event.preventDefault(); $('#invisible-cloud-file-upload').trigger('click'); return false;}); -// window.filesToUpload = 0; -// window.fileUploadsCompleted = 0; } // file drag hover diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl index 8d39a8383..6b876d2ac 100644 --- a/view/tpl/cloud_actionspanel.tpl +++ b/view/tpl/cloud_actionspanel.tpl @@ -21,7 +21,7 @@ </div> <div id="files-upload-tools" class="section-content-tools-wrapper"> {{if $quota.limit || $quota.used}}<div class="{{if $quota.warning}}section-content-danger-wrapper{{else}}section-content-info-wrapper{{/if}}">{{if $quota.warning}}<strong>{{$quota.warning}} </strong>{{/if}}{{if $quota.desc}}{{$quota.desc}}<br><br>{{/if}}{{$info}}</div>{{/if}} - <form id="ajax-upload-files" method="post" action="file_upload" enctype="multipart/form-data" class="acl-form" data-form_id="ajax-upload-files" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> + <form id="ajax-upload-files" method="post" action="#" enctype="multipart/form-data" class="acl-form" data-form_id="ajax-upload-files" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> <input type="hidden" name="directory" value="{{$path}}" /> <input type="hidden" name="channick" value="{{$channick}}" /> <input type="hidden" name="return_url" value="{{$return_url}}" /> |