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