|
|
@ -9,6 +9,7 @@ import cc.yunxi.enums.FileStyleEnum;
|
|
|
|
import cc.yunxi.mapper.FileMapper;
|
|
|
|
import cc.yunxi.mapper.FileMapper;
|
|
|
|
import cc.yunxi.service.IFileService;
|
|
|
|
import cc.yunxi.service.IFileService;
|
|
|
|
import cc.yunxi.utils.UserContext;
|
|
|
|
import cc.yunxi.utils.UserContext;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.ListUtil;
|
|
|
|
import cn.hutool.core.io.FileTypeUtil;
|
|
|
|
import cn.hutool.core.io.FileTypeUtil;
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
import cn.hutool.core.io.IoUtil;
|
|
|
|
import cn.hutool.core.io.IoUtil;
|
|
|
@ -27,12 +28,14 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
|
import java.io.BufferedOutputStream;
|
|
|
|
import java.io.BufferedOutputStream;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.net.InetAddress;
|
|
|
|
import java.net.InetAddress;
|
|
|
|
import java.net.UnknownHostException;
|
|
|
|
import java.net.UnknownHostException;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Base64;
|
|
|
|
import java.util.Base64;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Optional;
|
|
|
|
import java.util.Optional;
|
|
|
@ -94,14 +97,26 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements IF
|
|
|
|
return upload(uploadReqVO.getFile(), FileStyleEnum.IMAGE);
|
|
|
|
return upload(uploadReqVO.getFile(), FileStyleEnum.IMAGE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<FileUploadRespVO> uploadImages(@Valid FileUploadReqVO[] files) {
|
|
|
|
|
|
|
|
List<FileUploadRespVO> list = new ArrayList<>();
|
|
|
|
|
|
|
|
if (files.length == 0) return list;
|
|
|
|
|
|
|
|
for (int i = 0; i < files.length; i++) {
|
|
|
|
|
|
|
|
FileUploadReqVO file = files[i];
|
|
|
|
|
|
|
|
FileUploadRespVO respVO = uploadImage(file);
|
|
|
|
|
|
|
|
list.add(respVO);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public byte[] download(String url) {
|
|
|
|
public byte[] download(String url) {
|
|
|
|
// 默认为本地存储拉取 todo
|
|
|
|
// 默认为本地存储拉取 todo
|
|
|
|
String filePath = System.getProperty("user.dir")+ url;
|
|
|
|
String filePath = System.getProperty("user.dir") + url;
|
|
|
|
String osName = System.getProperty("os.name").toLowerCase();
|
|
|
|
String osName = System.getProperty("os.name").toLowerCase();
|
|
|
|
if(osName.contains("win")){
|
|
|
|
if (osName.contains("win")) {
|
|
|
|
filePath = filePath.replace("/","\\");
|
|
|
|
filePath = filePath.replace("/", "\\");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!FileUtil.exist(filePath)) {
|
|
|
|
if (!FileUtil.exist(filePath)) {
|
|
|
|
throw new BizIllegalException("下载资源不存在");
|
|
|
|
throw new BizIllegalException("下载资源不存在");
|
|
|
@ -189,6 +204,7 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements IF
|
|
|
|
byte[] image = decodeToBase64(image64);
|
|
|
|
byte[] image = decodeToBase64(image64);
|
|
|
|
return base64ImageUpload(image, fileName, FileStyleEnum.IMAGE);
|
|
|
|
return base64ImageUpload(image, fileName, FileStyleEnum.IMAGE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public FileUploadRespVO uploadImage(byte[] image, String fileName) {
|
|
|
|
public FileUploadRespVO uploadImage(byte[] image, String fileName) {
|
|
|
|
return base64ImageUpload(image, fileName, FileStyleEnum.IMAGE);
|
|
|
|
return base64ImageUpload(image, fileName, FileStyleEnum.IMAGE);
|
|
|
|