Browse Source

add "mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm","mov","3gp","flv","mpeg" for upload

tags/B.2.2.0.3_20230925_base^2
yk 2 years ago
parent
commit
292622e473
3 changed files with 27 additions and 17 deletions
  1. +3
    -3
      xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/file/MimeTypeUtil.java
  2. +17
    -12
      xueyi-modules/xueyi-file/src/main/java/com/xueyi/file/service/MinioSysFileServiceImpl.java
  3. +7
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/resource/controller/DmBackgroundController.java

+ 3
- 3
xueyi-common/xueyi-common-core/src/main/java/com/xueyi/common/core/utils/file/MimeTypeUtil.java View File

@@ -24,7 +24,7 @@ public class MimeTypeUtil {
public static final String[] MEDIA_EXTENSION = {"swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg",
"asf", "rm", "rmvb"};

public static final String[] VIDEO_EXTENSION = {"mp4", "avi", "rmvb", "webm"};
public static final String[] VIDEO_EXTENSION = {"mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm","mov","3gp","flv","mpeg"};

public static final String PDF_EXTENSION = "pdf";

@@ -36,7 +36,7 @@ public class MimeTypeUtil {
// 压缩文件
"rar", "zip", "gz", "bz2",
// 视频格式
"mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm",
"mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm","mov","3gp","flv","mpeg",
// pdf
"pdf"};

@@ -44,7 +44,7 @@ public class MimeTypeUtil {
// 图片
"bmp", "gif", "jpg", "jpeg", "png",
// 视频格式
"mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm",
"mp4", "avi", "rmvb", "mkv", "wmv", "rm", "rmvb", "flv", "webm","mov","3gp","flv","mpeg",
// pdf
"pdf"};



+ 17
- 12
xueyi-modules/xueyi-file/src/main/java/com/xueyi/file/service/MinioSysFileServiceImpl.java View File

@@ -7,6 +7,8 @@ import io.minio.PutObjectArgs;
import io.minio.RemoveObjectArgs;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
@@ -27,6 +29,7 @@ import java.net.URLEncoder;
@Service
public class MinioSysFileServiceImpl implements ISysFileService {

private static final Logger log = LoggerFactory.getLogger(MinioSysFileServiceImpl.class);
@Autowired
private MinioConfig minioConfig;

@@ -44,7 +47,7 @@ public class MinioSysFileServiceImpl implements ISysFileService {
String fileName = FileUploadUtils.extractFilename(file);

//fileName = URLEncoder.encode(fileName, "UTF-8");
System.out.println("Minio filename:" + fileName);
log.info("Minio filename:" + fileName);
PutObjectArgs args = PutObjectArgs.builder()
.bucket(minioConfig.getBucketName())
.object(fileName)
@@ -52,7 +55,7 @@ public class MinioSysFileServiceImpl implements ISysFileService {
.contentType(file.getContentType())
.build();
client.putObject(args);
System.out.println("Minio 文件上传成功");
log.info("Minio 文件上传成功");
// 获取fileName的最后一个'/'的位置的字符串,并用URLEncoder进行UTF-8编码后,再拼接到fileName中
String splitStr = fileName.substring(fileName.lastIndexOf("/") + 1);
splitStr = URLEncoder.encode(splitStr, "UTF-8");
@@ -69,8 +72,8 @@ public class MinioSysFileServiceImpl implements ISysFileService {
public String uploadFile(String fileName, File file) throws Exception {
fileName = FileUploadUtils.extractFilename(fileName);
InputStream inputStream = FileUtils.openInputStream(file);
System.out.println("file original filename = " + fileName);
System.out.println("file size = " + file.length());
log.info("file original filename = " + fileName);
log.info("file size = " + file.length());

// 使用IOUtils.toByteArray()方法确保正确地读取输入流中的数据
byte[] fileBytes = IOUtils.toByteArray(inputStream);
@@ -78,7 +81,7 @@ public class MinioSysFileServiceImpl implements ISysFileService {
// 上传文件到MinIO
String minioFileName = uploadFileToMinIO(fileName, fileBytes);

System.out.println("MinIO 文件上传成功,Minio 文件名:" + minioFileName);
log.info("MinIO 文件上传成功,Minio 文件名:" + minioFileName);

// 获取fileName的最后一个'/'的位置的字符串,并用URLEncoder进行UTF-8编码后,再拼接到fileName中
String splitStr = fileName.substring(fileName.lastIndexOf("/") + 1);
@@ -92,8 +95,8 @@ public class MinioSysFileServiceImpl implements ISysFileService {
public String uploadTempFile(String fileName, File file) throws Exception {
fileName = FileUploadUtils.extractFilename(fileName);
InputStream inputStream = FileUtils.openInputStream(file);
System.out.println("file original filename = " + fileName);
System.out.println("file size = " + file.length());
log.info("file original filename = " + fileName);
log.info("file size = " + file.length());

// 使用IOUtils.toByteArray()方法确保正确地读取输入流中的数据
byte[] fileBytes = IOUtils.toByteArray(inputStream);
@@ -101,7 +104,7 @@ public class MinioSysFileServiceImpl implements ISysFileService {
// 上传文件到MinIO
String minioFileName = uploadFileToMinIO(fileName, fileBytes);

System.out.println("MinIO Temp文件上传成功,Minio 文件名:" + minioFileName);
log.info("MinIO Temp文件上传成功,Minio 文件名:" + minioFileName);

// 获取fileName的最后一个'/'的位置的字符串,并用URLEncoder进行UTF-8编码后,再拼接到fileName中
String splitStr = fileName.substring(fileName.lastIndexOf("/") + 1);
@@ -137,7 +140,7 @@ public class MinioSysFileServiceImpl implements ISysFileService {
.build()
);

System.out.println("文件上传到MinIO成功:" + fileName);
log.info("文件上传到MinIO成功:" + fileName);
String splitStr = fileName.substring(fileName.lastIndexOf("/") + 1);
splitStr = URLEncoder.encode(splitStr, "UTF-8");
fileName = fileName.substring(0, fileName.lastIndexOf("/") + 1) + splitStr;
@@ -147,12 +150,14 @@ public class MinioSysFileServiceImpl implements ISysFileService {


/**
* 文件删除接口
* 文件删除接口,通过minio的文件url进行删除
*
* @param fileName 文件名
* @param url 文件url
* @return 结果
*/
public Boolean deleteFile(String fileName) throws Exception {
public Boolean deleteFile(String url) throws Exception {
String bucketName = minioConfig.getBucketName();
String fileName = url.substring(url.indexOf(bucketName) + bucketName.length() + 1);
client.removeObject(RemoveObjectArgs.builder().bucket(minioConfig.getBucketName()).object(fileName).build());
return true;
}


+ 7
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/resource/controller/DmBackgroundController.java View File

@@ -2,7 +2,6 @@ package com.xueyi.system.resource.controller;

import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.common.core.web.validate.V_A;
import com.xueyi.common.core.web.validate.V_E;
import com.xueyi.common.log.annotation.Log;
import com.xueyi.common.log.enums.BusinessType;
import com.xueyi.common.security.annotation.RequiresPermissions;
@@ -11,7 +10,13 @@ import com.xueyi.system.resource.domain.dto.DmBackgroundDto;
import com.xueyi.system.resource.domain.query.DmBackgroundQuery;
import com.xueyi.system.resource.service.IDmBackgroundService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;



Loading…
Cancel
Save