修改上传位置
This commit is contained in:
parent
02b1aba9a2
commit
7a55a0b843
@ -8,7 +8,6 @@ import com.ycwl.basic.utils.ApiResponse;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@ -36,7 +35,7 @@ public class FileController {
|
||||
public ApiResponse<?> upload(@RequestParam(value = "file") MultipartFile file) throws IOException {
|
||||
String[] split = file.getOriginalFilename().split("\\.");
|
||||
String ext = split[split.length - 1];
|
||||
String url = StorageFactory.use("assets").uploadFile(file, "web", UUID.randomUUID()+"."+ext);
|
||||
String url = StorageFactory.use("assets").uploadFile(file, "web", UUID.randomUUID() + "." + ext);
|
||||
return ApiResponse.success(url);
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ycwl.basic.annotation.IgnoreToken;
|
||||
import com.ycwl.basic.config.FaceDetectConfig;
|
||||
import com.ycwl.basic.mapper.DeviceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.SourceMapper;
|
||||
@ -28,7 +27,6 @@ import com.ycwl.basic.model.viid.resp.VIIDBaseResp;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
import com.ycwl.basic.storage.enums.StorageType;
|
||||
import com.ycwl.basic.utils.ImageUtils;
|
||||
import com.ycwl.basic.utils.IpUtils;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
@ -42,7 +40,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -35,7 +35,6 @@ import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
import com.ycwl.basic.storage.enums.StorageType;
|
||||
import com.ycwl.basic.storage.utils.StorageUtil;
|
||||
import com.ycwl.basic.utils.DateUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -49,7 +48,6 @@ import com.aliyuncs.profile.DefaultProfile;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
@ -18,7 +18,6 @@ import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.task.req.TaskReqQuery;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.model.pc.template.entity.TemplateEntity;
|
||||
import com.ycwl.basic.model.pc.template.req.TemplateReqQuery;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
|
||||
@ -28,7 +27,6 @@ import com.ycwl.basic.model.task.resp.TaskSyncRespVo;
|
||||
import com.ycwl.basic.service.task.TaskService;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
import com.ycwl.basic.storage.enums.StorageType;
|
||||
import com.ycwl.basic.task.VideoPieceGetter;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import lombok.NonNull;
|
||||
@ -329,16 +327,16 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (task == null) {
|
||||
return null;
|
||||
}
|
||||
IStorageAdapter adapter = StorageFactory.use("faces");
|
||||
IStorageAdapter adapter = StorageFactory.use("video");
|
||||
String filename = task.getId() + "_" + task.getScenicId() + ".mp4";
|
||||
if (StringUtils.isBlank(task.getVideoUrl())) {
|
||||
// 生成
|
||||
String url = adapter.getUrl("user-video", filename);
|
||||
String url = adapter.getUrl(filename);
|
||||
TaskEntity updateTask = new TaskEntity();
|
||||
updateTask.setId(taskId);
|
||||
updateTask.setVideoUrl(url);
|
||||
taskMapper.update(updateTask);
|
||||
}
|
||||
return adapter.getUrlForUpload("user-video", filename);
|
||||
return adapter.getUrlForUpload(filename);
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
package com.ycwl.basic.storage.adapters;
|
||||
|
||||
import com.ycwl.basic.storage.entity.StorageConfig;
|
||||
import com.ycwl.basic.storage.exceptions.UploadFileFailedException;
|
||||
import lombok.Setter;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
@ -14,33 +12,33 @@ import java.util.Date;
|
||||
public abstract class AStorageAdapter implements IStorageAdapter {
|
||||
|
||||
@Override
|
||||
public String uploadFile(File file, String path, String filename) {
|
||||
public String uploadFile(File file, String ...path) {
|
||||
if (file == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
InputStream inputStream = new FileInputStream(file);
|
||||
return uploadFile(inputStream, path, filename);
|
||||
return uploadFile(inputStream, path);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new UploadFileFailedException("文件不存在");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String uploadFile(MultipartFile file, String path, String filename) {
|
||||
public String uploadFile(MultipartFile file, String... path) {
|
||||
if (file == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
InputStream inputStream = file.getInputStream();
|
||||
return uploadFile(inputStream, path, filename);
|
||||
return uploadFile(inputStream, path);
|
||||
} catch (Exception e) {
|
||||
throw new UploadFileFailedException("文件上传失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUrlForUpload(String path, String filename) {
|
||||
return getUrlForUpload(path, filename, new Date(System.currentTimeMillis() + 1000 * 60 * 60));
|
||||
public String getUrlForUpload(String... path) {
|
||||
return getUrlForUpload(new Date(System.currentTimeMillis() + 1000 * 60 * 60), path);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ import java.net.URL;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
public class AliOssAdapter extends AStorageAdapter {
|
||||
final public class AliOssAdapter extends AStorageAdapter {
|
||||
private AliOssStorageConfig config;
|
||||
|
||||
@Override
|
||||
@ -48,16 +48,16 @@ public class AliOssAdapter extends AStorageAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String uploadFile(InputStream inputStream, String path, String filename) {
|
||||
public String uploadFile(InputStream inputStream, String ...path) {
|
||||
if (inputStream == null) {
|
||||
return null;
|
||||
}
|
||||
String fullPath = buildPath(path, filename);
|
||||
String fullPath = buildPath(path);
|
||||
OSS ossClient = getOssClient();
|
||||
try {
|
||||
PutObjectRequest putObjectRequest = new PutObjectRequest(config.getBucketName(), fullPath, inputStream);
|
||||
ossClient.putObject(putObjectRequest);
|
||||
return getUrl(path, filename);
|
||||
return getUrl(path);
|
||||
} catch (ClientException e) {
|
||||
throw new UploadFileFailedException("上传文件失败:" + e.getErrorMessage());
|
||||
}
|
||||
@ -65,10 +65,10 @@ public class AliOssAdapter extends AStorageAdapter {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean deleteFile(String path, String filename) {
|
||||
public boolean deleteFile(String... path) {
|
||||
OSS ossClient = getOssClient();
|
||||
try {
|
||||
ossClient.deleteObject(config.getBucketName(), buildPath(path, filename));
|
||||
ossClient.deleteObject(config.getBucketName(), buildPath(path));
|
||||
return true;
|
||||
} catch (ClientException e) {
|
||||
return false;
|
||||
@ -76,14 +76,14 @@ public class AliOssAdapter extends AStorageAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUrl(String path, String filename) {
|
||||
return config.getUrl() + "/" + buildPath(path, filename);
|
||||
public String getUrl(String... path) {
|
||||
return config.getUrl() + "/" + buildPath(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUrlForUpload(String path, String filename, Date expireDate) {
|
||||
public String getUrlForUpload(Date expireDate, String... path) {
|
||||
OSS ossClient = getOssClient();
|
||||
URL url = ossClient.generatePresignedUrl(config.getBucketName(), buildPath(path, filename), expireDate, HttpMethod.PUT);
|
||||
URL url = ossClient.generatePresignedUrl(config.getBucketName(), buildPath(path), expireDate, HttpMethod.PUT);
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
|
@ -11,11 +11,11 @@ import java.util.Map;
|
||||
public interface IStorageAdapter {
|
||||
void loadConfig(Map<String, String> config);
|
||||
void setConfig(StorageConfig config);
|
||||
String uploadFile(InputStream inputStream, String path, String filename);
|
||||
String uploadFile(File file, String path, String filename);
|
||||
String uploadFile(MultipartFile file, String path, String filename);
|
||||
boolean deleteFile(String path, String filename);
|
||||
String getUrl(String path, String filename);
|
||||
String getUrlForUpload(String path, String filename);
|
||||
String getUrlForUpload(String path, String filename, Date expireDate);
|
||||
String uploadFile(InputStream inputStream, String ...path);
|
||||
String uploadFile(File file, String ...path);
|
||||
String uploadFile(MultipartFile file, String ...path);
|
||||
boolean deleteFile(String ...path);
|
||||
String getUrl(String ...path);
|
||||
String getUrlForUpload(String ...path);
|
||||
String getUrlForUpload(Date expireDate, String ...path);
|
||||
}
|
||||
|
@ -18,22 +18,22 @@ public class LocalStorageAdapter extends AStorageAdapter{
|
||||
}
|
||||
|
||||
@Override
|
||||
public String uploadFile(InputStream inputStream, String path, String filename) {
|
||||
public String uploadFile(InputStream inputStream, String... path) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteFile(String path, String filename) {
|
||||
public boolean deleteFile(String... path) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUrl(String path, String filename) {
|
||||
public String getUrl(String... path) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUrlForUpload(String path, String filename, Date expireDate) {
|
||||
public String getUrlForUpload(Date expireDate, String... path) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
@ -143,7 +143,16 @@ storage:
|
||||
prefix: "user-assets/"
|
||||
url: "https://oss.zhentuai.com"
|
||||
region: "cn-shanghai"
|
||||
|
||||
- name: "video"
|
||||
type: "ALI_OSS"
|
||||
config:
|
||||
endpoint: "https://oss-cn-shanghai.aliyuncs.com"
|
||||
accessKeyId: "LTAI5tCa641QdNHH9Ybg9u7V"
|
||||
accessKeySecret: "RRVIgekoqx96Fgm2Gs7eQshMShcEpk"
|
||||
bucketName: "frametour-assets"
|
||||
prefix: "user-video/"
|
||||
url: "https://oss.zhentuai.com"
|
||||
region: "cn-shanghai"
|
||||
#阿里云人脸检测
|
||||
aliFace:
|
||||
accessKeyId: "LTAI5tMwrmxVcUEKoH5QzLHx"
|
||||
|
@ -141,6 +141,16 @@ storage:
|
||||
prefix: "user-assets/"
|
||||
url: "https://oss.zhentuai.com"
|
||||
region: "cn-shanghai"
|
||||
- name: "video"
|
||||
type: "ALI_OSS"
|
||||
config:
|
||||
endpoint: "https://oss-cn-shanghai.aliyuncs.com"
|
||||
accessKeyId: "LTAI5tCa641QdNHH9Ybg9u7V"
|
||||
accessKeySecret: "RRVIgekoqx96Fgm2Gs7eQshMShcEpk"
|
||||
bucketName: "frametour-assets"
|
||||
prefix: "user-video/"
|
||||
url: "https://oss.zhentuai.com"
|
||||
region: "cn-shanghai"
|
||||
|
||||
#阿里云人脸检测
|
||||
aliFace:
|
||||
|
Loading…
x
Reference in New Issue
Block a user