| | |
| | | var isUploading = false; |
| | | var startTime = 0; |
| | | var uploadedSize = 0; |
| | | var companyId = 'default'; // 默认公司ID,实际应用中应从session或URL参数获取 |
| | | |
| | | // 初始化 |
| | | init(); |
| | |
| | | formData.append('chunk', currentChunk); |
| | | formData.append('chunks', chunks); |
| | | formData.append('fileMd5', fileMd5); |
| | | formData.append('companyId', companyId); |
| | | |
| | | $.ajax({ |
| | | url: '/fileUpload/uploadChunk', |
| | |
| | | data: { |
| | | fileName: file.name, |
| | | fileMd5: fileMd5, |
| | | chunks: chunks, |
| | | companyId: companyId |
| | | chunks: chunks |
| | | }, |
| | | success: function(response) { |
| | | if (response.code === 200 || response.success) { |
| | | layer.msg('文件上传成功,页面将刷新', {icon: 1, time: 1000}); |
| | | layer.msg('文件上传成功', {icon: 1}); |
| | | $('#uploadStatus').text('上传成功'); |
| | | $('#uploadProgress').text('100%'); |
| | | $('#progressFill').css('width', '100%').text('100%'); |
| | | |
| | | // 刷新页面 |
| | | setTimeout(function() { |
| | | location.reload(); |
| | | }, 1000); |
| | | $('#playContainer').show(); |
| | | refreshFileList(); |
| | | } else { |
| | | layer.msg('文件合并失败: ' + response.message, {icon: 2}); |
| | | $('#uploadStatus').text('上传失败'); |
| | |
| | | function refreshFileList() { |
| | | layer.msg('正在获取文件列表...', {icon: 16, time: 0}); |
| | | $.ajax({ |
| | | url: '/fileUpload/list/' + companyId, |
| | | url: '/fileUpload/list', |
| | | type: 'GET', |
| | | success: function(response) { |
| | | layer.closeAll(); |
| | |
| | | var videoPlayer = document.getElementById('videoPlayer'); |
| | | var videoSource = document.getElementById('videoSource'); |
| | | |
| | | videoSource.src = '/fileUpload/play/' + companyId + '/' + encodeURIComponent(fileName); |
| | | // 根据文件扩展名设置正确的MIME类型 |
| | | var extension = fileName.split('.').pop().toLowerCase(); |
| | | var mimeType = 'video/mp4'; |
| | | switch(extension) { |
| | | case 'avi': |
| | | mimeType = 'video/x-msvideo'; |
| | | break; |
| | | case 'mov': |
| | | mimeType = 'video/quicktime'; |
| | | break; |
| | | case 'wmv': |
| | | mimeType = 'video/x-ms-wmv'; |
| | | break; |
| | | case 'flv': |
| | | mimeType = 'video/x-flv'; |
| | | break; |
| | | case 'webm': |
| | | mimeType = 'video/webm'; |
| | | break; |
| | | case 'mkv': |
| | | mimeType = 'video/x-matroska'; |
| | | break; |
| | | } |
| | | |
| | | videoSource.src = '/fileUpload/play/' + encodeURIComponent(fileName); |
| | | videoSource.type = mimeType; |
| | | videoPlayer.load(); |
| | | videoPlayer.play(); |
| | | }); |
| | |
| | | $.ajax({ |
| | | url: '/fileUpload/delete', |
| | | type: 'POST', |
| | | data: { |
| | | fileName: fileName, |
| | | companyId: companyId |
| | | }, |
| | | data: {fileName: fileName}, |
| | | success: function(response) { |
| | | if (response.code === 200 || response.success) { |
| | | layer.msg('删除成功', {icon: 1}); |