|
@ -1,5 +1,8 @@
|
|
package com.yihu.jw.base.endpoint.common;
|
|
package com.yihu.jw.base.endpoint.common;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.yihu.fastdfs.FastDFSUtil;
|
|
import com.yihu.fastdfs.FastDFSUtil;
|
|
import com.yihu.jw.base.util.ErrorCodeUtil;
|
|
import com.yihu.jw.base.util.ErrorCodeUtil;
|
|
@ -13,6 +16,8 @@ import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiParam;
|
|
import io.swagger.annotations.ApiParam;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@ -22,6 +27,7 @@ import java.io.ByteArrayInputStream;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLDecoder;
|
|
import java.util.Base64;
|
|
import java.util.Base64;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 文件上传不在微服务中处理
|
|
* 文件上传不在微服务中处理
|
|
@ -32,11 +38,22 @@ import java.util.Base64;
|
|
@Api(tags = "文件上传相关操作", description = "文件上传相关操作")
|
|
@Api(tags = "文件上传相关操作", description = "文件上传相关操作")
|
|
public class FileUploadController extends EnvelopRestEndpoint {
|
|
public class FileUploadController extends EnvelopRestEndpoint {
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(EnvelopRestEndpoint.class);
|
|
|
|
|
|
|
|
|
|
@Value("${fastDFS.fastdfs_file_url}")
|
|
@Value("${fastDFS.fastdfs_file_url}")
|
|
private String fastdfs_file_url;
|
|
private String fastdfs_file_url;
|
|
@Autowired
|
|
@Autowired
|
|
FileUploadService fileUploadService;
|
|
FileUploadService fileUploadService;
|
|
|
|
|
|
|
|
@Value("${testPattern.sign}")
|
|
|
|
private String isClose;
|
|
|
|
@Value("${testPattern.remote_inner_url}")
|
|
|
|
private String remote_inner_url;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private ObjectMapper objectMapper;
|
|
|
|
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
|
|
@ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
|
|
@ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
|
|
public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
|
|
public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
|
|
@ -59,17 +76,17 @@ public class FileUploadController extends EnvelopRestEndpoint {
|
|
return success("上传成功", uploadVO);
|
|
return success("上传成功", uploadVO);
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
|
|
|
|
@ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
|
|
|
|
public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
|
|
|
|
@RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
|
|
|
|
|
|
|
|
// 得到文件的完整名称 xxx.txt
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
InputStream inputStream = file.getInputStream();
|
|
|
|
UploadVO uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
|
|
|
|
return success("上传成功", uploadVO);
|
|
|
|
}
|
|
|
|
|
|
// @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
|
|
|
|
// @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
|
|
|
|
// public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
|
|
|
|
// @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
|
|
|
|
//
|
|
|
|
// // 得到文件的完整名称 xxx.txt
|
|
|
|
// String originalFilename = file.getOriginalFilename();
|
|
|
|
// InputStream inputStream = file.getInputStream();
|
|
|
|
// UploadVO uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
|
|
|
|
// return success("上传成功", uploadVO);
|
|
|
|
// }
|
|
|
|
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
|
|
@ApiOperation(value = "base64上传图片",notes = "base64上传图片")
|
|
@ApiOperation(value = "base64上传图片",notes = "base64上传图片")
|
|
@ -79,4 +96,28 @@ public class FileUploadController extends EnvelopRestEndpoint {
|
|
return success("上传成功", uploadVO);
|
|
return success("上传成功", uploadVO);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
|
|
|
|
@ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
|
|
|
|
public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
|
|
|
|
@RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
|
|
|
|
UploadVO uploadVO = new UploadVO();
|
|
|
|
if (isClose.equalsIgnoreCase("1")){
|
|
|
|
Map<String, Object> map = fileUploadService.uploadImg(file);
|
|
|
|
uploadVO.setFullUri(map.get("accessory").toString());
|
|
|
|
}else if(isClose.equals("2")){
|
|
|
|
//内网上传
|
|
|
|
String rs = fileUploadService.request(remote_inner_url,file,null);
|
|
|
|
logger.info(rs);
|
|
|
|
JSONObject json = JSON.parseObject(rs);
|
|
|
|
uploadVO = objectMapper.readValue(json.getJSONObject("obj").toJSONString(),UploadVO.class);
|
|
|
|
|
|
|
|
}else {
|
|
|
|
// 得到文件的完整名称 xxx.txt
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
InputStream inputStream = file.getInputStream();
|
|
|
|
uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
|
|
|
|
}
|
|
|
|
return success("上传成功", uploadVO);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|