mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-03 16:51:40 +09:00
Fix #1176 progress bar closing too early when uploading multiple files
This commit is contained in:
parent
f1f2ddc8f8
commit
3ce11f6432
2 changed files with 22 additions and 7 deletions
|
|
@ -52,6 +52,7 @@
|
|||
var self = this;
|
||||
var $container = containerEl;
|
||||
var data = $container.data();
|
||||
var lastUploadTime = 0;
|
||||
|
||||
$.extend(data, {
|
||||
files: {},
|
||||
|
|
@ -93,15 +94,16 @@
|
|||
},
|
||||
submit: function(e, item) {
|
||||
item.formData = defaultFormData;
|
||||
item.formData.nonce = "T" + new Date().getTime() + "." + Math.random();
|
||||
chunkStatus = true;
|
||||
},
|
||||
chunksend: function(e, res) {
|
||||
lastUploadTime = Date.now();
|
||||
if (!chunkStatus) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
chunkdone: function(e, res) {
|
||||
lastUploadTime = Date.now();
|
||||
if (res.result) {
|
||||
if (res.result.error != 0) {
|
||||
if (res.result.message) {
|
||||
|
|
@ -117,16 +119,22 @@
|
|||
}
|
||||
},
|
||||
chunkfail: function(e, res) {
|
||||
lastUploadTime = Date.now();
|
||||
if (chunkStatus) {
|
||||
alert(window.xe.msg_file_upload_error + " (Type 3)" + "<br>\n" + res.errorThrown + "<br>\n" + res.textStatus);
|
||||
return chunkStatus = false;
|
||||
}
|
||||
},
|
||||
done: function(e, res) {
|
||||
lastUploadTime = Date.now();
|
||||
data.settings.progressbarGraph.width('100%');
|
||||
data.settings.progressPercent.text('100%');
|
||||
data.settings.progressbar.delay(1000).slideUp();
|
||||
data.settings.progressStatus.delay(1000).slideUp();
|
||||
setTimeout(function() {
|
||||
if (lastUploadTime < Date.now() - 800) {
|
||||
data.settings.progressbar.slideUp();
|
||||
data.settings.progressStatus.slideUp();
|
||||
}
|
||||
}, 1000);
|
||||
var result = res.response().result;
|
||||
var temp_code = '';
|
||||
if (!result) {
|
||||
|
|
@ -159,22 +167,30 @@
|
|||
}
|
||||
},
|
||||
fail: function(e, res) {
|
||||
data.settings.progressbar.delay(1000).slideUp();
|
||||
data.settings.progressStatus.delay(1000).slideUp();
|
||||
lastUploadTime = Date.now();
|
||||
setTimeout(function() {
|
||||
if (lastUploadTime < Date.now() - 800) {
|
||||
data.settings.progressbar.slideUp();
|
||||
data.settings.progressStatus.slideUp();
|
||||
}
|
||||
}, 1000);
|
||||
if (chunkStatus) {
|
||||
alert(window.xe.msg_file_upload_error + " (Type 7)" + "<br>\n" + res.errorThrown + "<br>\n" + res.textStatus);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
stop: function() {
|
||||
lastUploadTime = Date.now();
|
||||
self.loadFilelist($container);
|
||||
},
|
||||
start: function() {
|
||||
lastUploadTime = Date.now();
|
||||
data.settings.progressbarGraph.width(0);
|
||||
data.settings.progressStatus.show();
|
||||
data.settings.progressbar.show();
|
||||
},
|
||||
progressall: function (e, res) {
|
||||
lastUploadTime = Date.now();
|
||||
var progress = Math.round(res.loaded / res.total * 999) / 10;
|
||||
data.settings.progressbarGraph.width(progress+'%');
|
||||
data.settings.progressPercent.text(progress+'%');
|
||||
|
|
|
|||
|
|
@ -69,8 +69,7 @@ class fileController extends file
|
|||
$this->add('chunk_uploaded_size', $chunk_start);
|
||||
|
||||
// Check existing chunks
|
||||
$nonce = Context::get('nonce');
|
||||
$temp_key = hash_hmac('sha1', sprintf('%d:%d:%d:%s:%s', $editor_sequence, $upload_target_srl, $module_srl, $file_info['name'], $nonce), config('crypto.authentication_key'));
|
||||
$temp_key = hash_hmac('sha1', sprintf('%d:%d:%d:%s:%s', $editor_sequence, $upload_target_srl, $module_srl, $file_info['name'], session_id()), config('crypto.authentication_key'));
|
||||
$temp_filename = RX_BASEDIR . 'files/attach/chunks/' . $temp_key;
|
||||
if ($chunk_start == 0 && Rhymix\Framework\Storage::isFile($temp_filename))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue