JS-uploader can't download, don't try
This commit is contained in:
parent
dcb044fb28
commit
4b83f8dcce
@ -1392,100 +1392,102 @@ $(function() {
|
|||||||
successIcon = document.createElement('span');
|
successIcon = document.createElement('span');
|
||||||
successIcon.className = 'uploadIcon icon-ok-circled';
|
successIcon.className = 'uploadIcon icon-ok-circled';
|
||||||
$('#uploadform').submit(function(event) {
|
$('#uploadform').submit(function(event) {
|
||||||
event.preventDefault();
|
if (! $('#imageurl').val()) {
|
||||||
$('.uploadform_userfile').each(function() {
|
event.preventDefault();
|
||||||
var files = this.files;
|
$('.uploadform_userfile').each(function() {
|
||||||
for (var i = 0; i < files.length; i++) {
|
var files = this.files;
|
||||||
var reader = new FileReader();
|
for (var i = 0; i < files.length; i++) {
|
||||||
reader.file = files[i];
|
var reader = new FileReader();
|
||||||
reader.onload = function(readerEvent) {
|
reader.file = files[i];
|
||||||
var image = new Image();
|
reader.onload = function(readerEvent) {
|
||||||
var file = this.file;
|
var image = new Image();
|
||||||
image.onload = function (imageEvent) {
|
var file = this.file;
|
||||||
var canvas = document.createElement('canvas'),
|
image.onload = function (imageEvent) {
|
||||||
max_width = {if {serendipity_getConfigVar key='maxImgWidth'}}{serendipity_getConfigVar key='maxImgWidth'}{else}0{/if},
|
var canvas = document.createElement('canvas'),
|
||||||
max_height = {if {serendipity_getConfigVar key='maxImgHeight'}}{serendipity_getConfigVar key='maxImgHeight'}{else}0{/if},
|
max_width = {if {serendipity_getConfigVar key='maxImgWidth'}}{serendipity_getConfigVar key='maxImgWidth'}{else}0{/if},
|
||||||
width = image.width,
|
max_height = {if {serendipity_getConfigVar key='maxImgHeight'}}{serendipity_getConfigVar key='maxImgHeight'}{else}0{/if},
|
||||||
height = image.height;
|
width = image.width,
|
||||||
|
height = image.height;
|
||||||
|
|
||||||
if (max_width > 0 && width > max_width) {
|
if (max_width > 0 && width > max_width) {
|
||||||
height *= max_width / width;
|
height *= max_width / width;
|
||||||
width = max_width;
|
width = max_width;
|
||||||
}
|
}
|
||||||
if (max_height > 0 && height > max_height) {
|
if (max_height > 0 && height > max_height) {
|
||||||
width *= max_height / height;
|
width *= max_height / height;
|
||||||
height = max_height;
|
height = max_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
canvas.width = width;
|
canvas.width = width;
|
||||||
canvas.height = height;
|
canvas.height = height;
|
||||||
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
|
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
|
||||||
var data = new FormData();
|
var data = new FormData();
|
||||||
data.append('serendipity[action]', 'admin');
|
data.append('serendipity[action]', 'admin');
|
||||||
data.append('serendipity[adminModule]', 'media');
|
data.append('serendipity[adminModule]', 'media');
|
||||||
data.append('serendipity[adminAction]', 'add');
|
data.append('serendipity[adminAction]', 'add');
|
||||||
data.append('serendipity[token]', $('input[name*="serendipity[token]"]').val());
|
data.append('serendipity[token]', $('input[name*="serendipity[token]"]').val());
|
||||||
data.append('serendipity[target_filename][1]', $('input[name*="serendipity[target_filename][1]"]').val());
|
data.append('serendipity[target_filename][1]', $('input[name*="serendipity[target_filename][1]"]').val());
|
||||||
data.append('serendipity[all_authors]', true);
|
data.append('serendipity[all_authors]', true);
|
||||||
var type = file.type;
|
var type = file.type;
|
||||||
if (type == "image/bmp") {
|
if (type == "image/bmp") {
|
||||||
{* bmp is not supported *}
|
{* bmp is not supported *}
|
||||||
type = "image/png";
|
type = "image/png";
|
||||||
data.append('serendipity[target_filename][1]', file.name.replace('.bmp', '.png'));
|
data.append('serendipity[target_filename][1]', file.name.replace('.bmp', '.png'));
|
||||||
}
|
}
|
||||||
canvas.toBlob(function(blob) {
|
canvas.toBlob(function(blob) {
|
||||||
data.append('serendipity[userfile][1]', blob, file.name);
|
data.append('serendipity[userfile][1]', blob, file.name);
|
||||||
var progress = document.createElement('progress');
|
var progress = document.createElement('progress');
|
||||||
var progressContainer = document.createElement('span');
|
var progressContainer = document.createElement('span');
|
||||||
progressContainer.className = 'msg_notice';
|
progressContainer.className = 'msg_notice';
|
||||||
progress.max = 100;
|
progress.max = 100;
|
||||||
progress.value = 0;
|
progress.value = 0;
|
||||||
$(progressContainer).append(progressIcon);
|
$(progressContainer).append(progressIcon);
|
||||||
progressContainer.innerHTML += file.name + ": "
|
progressContainer.innerHTML += file.name + ": "
|
||||||
$(progressContainer).append(progress);
|
$(progressContainer).append(progress);
|
||||||
$('.form_buttons').append(progressContainer);
|
$('.form_buttons').append(progressContainer);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: $('#uploadform').attr('action'),
|
url: $('#uploadform').attr('action'),
|
||||||
data: data,
|
data: data,
|
||||||
cache: false,
|
cache: false,
|
||||||
processData: false,
|
processData: false,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
xhrFields: {
|
xhrFields: {
|
||||||
onprogress: function (e) {
|
onprogress: function (e) {
|
||||||
if (e.lengthComputable) {
|
if (e.lengthComputable) {
|
||||||
progress.value = e.loaded / e.total * 100;
|
progress.value = e.loaded / e.total * 100;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}).done(function(data) {
|
||||||
}).done(function(data) {
|
progress.value = 100;
|
||||||
progress.value = 100;
|
progressContainer.className = "msg_success";
|
||||||
progressContainer.className = "msg_success";
|
$(progressContainer).find('.uploadIcon').replaceWith(successIcon.cloneNode(true));
|
||||||
$(progressContainer).find('.uploadIcon').replaceWith(successIcon.cloneNode(true));
|
}).fail(function(data) {
|
||||||
}).fail(function(data) {
|
progressContainer.className = "msg_error";
|
||||||
progressContainer.className = "msg_error";
|
progress.disabled = true;
|
||||||
progress.disabled = true;
|
progressContainer.innerHTML += "{$CONST.ERROR_UNKNOWN_NOUPLOAD}";
|
||||||
progressContainer.innerHTML += "{$CONST.ERROR_UNKNOWN_NOUPLOAD}";
|
$(progressContainer).find('.uploadIcon').replaceWith(errorIcon.cloneNode(true));
|
||||||
$(progressContainer).find('.uploadIcon').replaceWith(errorIcon.cloneNode(true));
|
}).always(function() {
|
||||||
}).always(function() {
|
if ($('#ml_link').length == 0) {
|
||||||
if ($('#ml_link').length == 0) {
|
var mlLink = document.createElement('a');
|
||||||
var mlLink = document.createElement('a');
|
mlLink.id = "ml_link";
|
||||||
mlLink.id = "ml_link";
|
mlLink.className = "button_link";
|
||||||
mlLink.className = "button_link";
|
mlLink.href = $('#uploadform').attr('action');
|
||||||
mlLink.href = $('#uploadform').attr('action');
|
mlLink.innerHTML = "{$CONST.MEDIA_LIBRARY}";
|
||||||
mlLink.innerHTML = "{$CONST.MEDIA_LIBRARY}";
|
$(mlLink).hide();
|
||||||
$(mlLink).hide();
|
$('.form_buttons').prepend(mlLink);
|
||||||
$('.form_buttons').prepend(mlLink);
|
$(mlLink).fadeIn();
|
||||||
$(mlLink).fadeIn();
|
}
|
||||||
}
|
});
|
||||||
});
|
}, type);
|
||||||
}, type);
|
}
|
||||||
|
image.src = readerEvent.target.result;
|
||||||
}
|
}
|
||||||
image.src = readerEvent.target.result;
|
reader.readAsDataURL(reader.file);
|
||||||
}
|
}
|
||||||
reader.readAsDataURL(reader.file);
|
});
|
||||||
}
|
}
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
{/if}
|
{/if}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user