var filelist = [];
$(function () {
'use strict';
// Initialize the jQuery File Upload widget:
$('#mltmdMvpInfoVO').fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: '/mltmdFileUpload.do?mltmdClCode=' + mltmdClCode + '&fileStreCours=' + fileStreCours,
//acceptFileTypes: /(\.|\/)(mpg|mpeg|mpeg-1|mpeg-2|mp4|avi|mov|flv|qt|m4v|wmv|asf)$/i,
autoUpload: true,
//maxNumberOfFiles: 1,
sequentialUploads: true,
dataType: 'json',
dropZone: $('.dropZone'),
add: function (e, data) {
console.log('add', data);
if(mltmdClCode != 'PHOTO') {
if(filelist.length > 0) {
alert('1개의 파일만 올리실 수 있습니다. 기존 파일을 삭제하신 후에 시도해주세요');
return false;
}
}
var existsFile = getExistsFilelist(data.files[0]);
if(existsFile) {
alert('이미 첨부된 파일 입니다.');
return false;
}
var fileTypeCheckFlag = false;
if(mltmdClCode == 'VOD') {
fileTypeCheckFlag = isVideo(data.files[0].name);
} else if(mltmdClCode == 'PHOTO') {
fileTypeCheckFlag = isImage(data.files[0].name);
} else if(mltmdClCode == 'VR') {
fileTypeCheckFlag = isZip(data.files[0].name);
} else if(mltmdClCode == 'AR') {
fileTypeCheckFlag = isZip(data.files[0].name);
}
if(!fileTypeCheckFlag) {
alert('파일형식이 잘못되었습니다.');
} else {
data.submit();
}
},
done: function (e, data) {console.log('done', data);
if(data.result.success) {
$('.fileList').append(tmpl("template-upload", data.result));
$.each(data.result.data, function (index, file) {
filelist.push(file);
//$('.fileList').append('
' + formatFileDisplay(file) + '');
//파일변경되었음표시
$('#mvpChangeAt').val('Y');
});
}
$('#mvpJsonData').val(JSON.stringify(filelist));
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
},
submit: function (e, data) {
console.log('submit', data);
},
started: function (e) {
console.log('started');
},
stopped: function (e) {
console.log('stopped');
},
added: function (e, data) {
console.log('added', data);
},
completed: function (e, data) {
console.log('completed', data);
},
success: function (e, data) {
console.log('success', data);
},
drop: function (e, data) {
console.log('drop', e, data);
if(mltmdClCode != 'PHOTO') {
if(data.files.length > 1) {
alert('1개의 파일만 올리실 수 있습니다.');
return false;
}
if(filelist.length > 0) {
alert('1개의 파일만 올리실 수 있습니다. 기존 파일을 삭제하신 후에 시도해주세요');
return false;
}
}
},
finished: function (e, data) {
console.log('finished', data);
},
fileuploadcompleted: function (e, data) {
console.log('fileuploadcompleted', data)
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
$(document).on('click','.fileRemove',function() {
var file = {};
file.name = $(this).data('name');
file.size = $(this).data('size');
setDeleteFilelist(file);
$(this).parent().remove();
});
/*
// Enable iframe cross-domain access via redirect option:
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(
/\/[^\/]*$/,
'/cors/result.html?%s'
)
);
$('#fileupload').fileupload('option', {
dropZone: $('.dropZone'),
disableImageResize: true,
previewMaxWidth: 60,
pasteZone: null,
disableAudioPreview: true,
disableVideoPreview: true,
maxFileSize: null,
acceptFileTypes: /(\.|\/)(pdf|png|jpg|jpeg|pjpeg|gif|bmp|mpg|mpeg|mpeg-1|mpeg-2|mp4|avi|mov|flv|qt|m4v|wmv|3gp|asf|ogv|3gpp|mp3|ogg|m4a|wav|wma|aiff|aif|aac|ac3|ppt|pptx|odp|pptm|zip)$/i,
submit: function (e, data) {
},
stopped: function (e) {
},
sequentialUploads: true,
added: function (e, data) {
},
autoUpload: true,
completed: function (e, data) {
},
success: function (e, data) {
},
maxNumberOfFiles: 999,
drop: function (e, data) {
},
done: function (e, data) {
},
progress: function (e, data) {
},
});
$('#fileupload').bind('fileuploadsubmit', function (e, data) {
data.formData = $('#fileupload').serializeArray();
}); */
});
$(document).bind('dragover', function (e) {
var dropZones = $('.dropZone'),
timeout = window.dropZoneTimeout;
if (timeout) {
clearTimeout(timeout);
} else {
dropZones.addClass('in');
}
var hoveredDropZone = $(e.target).closest(dropZones);
dropZones.not(hoveredDropZone).removeClass('hover');
hoveredDropZone.addClass('hover');
window.dropZoneTimeout = setTimeout(function () {
window.dropZoneTimeout = null;
dropZones.removeClass('in hover');
}, 100);
});
$(document).bind('drop dragover', function (e) {
e.preventDefault();
});
function formatFileDisplay(file) {
var size = ''+(file.fileMg/1000).toFixed(2)+'K';
return file.lgclflNm + ' ('+ size +')
';
}
function formatFileSize (bytes) {
if (typeof bytes !== 'number') {
return '';
}
if (bytes >= 1000000000) {
return (bytes / 1000000000).toFixed(2) + ' GB';
}
if (bytes >= 1000000) {
return (bytes / 1000000).toFixed(2) + ' MB';
}
return (bytes / 1000).toFixed(2) + ' KB';
}
function getFilelist() {
var files = filelist;
var filenames = '';
for (var i=0; i