$(document).ready(function() {
jQuery.event.props.push('dataTransfer') ;
var maxFiles = 1,
maxSize = 2,
errMessage = 0,
dataArray = [],
$errMessage = $('.errMessage'),
$dropFiles = $('.drop-files'),
$loadCont = $('.loading-content') ;
//При падении файла в зону загрузки
$dropFiles
.on('drop', function(e) {
var files = e.dataTransfer.files ;
if (files.length <= maxFiles) {
loadInChek(files) ;
} else {
errorMessage('Вы не можете загружать больше '+maxFiles+' изображений!') ;
files.length = 0 ;
return ;
}
})
// Функция проверки изображений
function loadInChek(files) {
var Percent = 100 / files.length,
Сounter = 0 ,
arr_Img = [] ;
$.each(files, function(index, file) {
if (!files[index].type.match('image.*')) {
errorMessage('Можно загружать только изображения') ;
return false;
} else if(files[index].size > 2*1024*1024) {
errorMessage('Файл большого размера! Максимальный размер файла 2мб!') ;
return false ;
}
$('.loading').show() ;
var fileReader = new FileReader() ;
fileReader.onload = (function(file) {
return function(e) {
++Сounter ;
[b]arr_Img.push({
name:file.name,
type:file.type,
tmp_name:this.result,
error:0,
size:file.size}) ;[/b]
send(file.name,arr_Img,Percent,Сounter) ;
};
})(files[index]) ;
fileReader.readAsDataURL(file) ;
}) ;
return false;
}
function errorMessage(text) {
$errMessage.fadeIn(800).html(text).delay(800).fadeOut(800) ;
}
// Функция отправки изображения на сервер
function send(fileName,fileResult,Percent,counter) {
$loadCont.html('Загружается '+fileName) ;
$.post(url_site, { name: fileName, value: fileResult }, function(data) {
$('.loading-color').css({'width' : Percent*(counter)+'%'}) ;
if(Percent*(counter) == 100) {
$loadCont.html('Загрузка завершена!').parent().delay(500).fadeOut(1000);
$dropFiles.css({
'box-shadow' : 'none'
}) ;
$('.content').prepend(data) ;
} else if(Percent*(counter) < 100) {
$loadCont.html('Загружается '+fileName) ;
}
}) ;
}
}) ; }
}) ;
arr_Img.push({
name:file.name,
type:file.type,
tmp_name:this.result,
error:0,
size:file.size}) ;