fix - OSS服务器文件分类更精细
This commit is contained in:
@@ -114,12 +114,12 @@ public class MemberController extends BaseApiController {
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/member/face/info", method = RequestMethod.POST)
|
||||
@AccessToken
|
||||
public ResponseDTO setMemberFaceInfo(@RequestParam("image") MultipartFile file) {
|
||||
memberService.setMemberFaceInfo(getLoginMemberId(), file, PlatformContext.getValue());
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
// @RequestMapping(value = "/member/face/info", method = RequestMethod.POST)
|
||||
// @AccessToken
|
||||
// public ResponseDTO setMemberFaceInfo(@RequestParam("image") MultipartFile file) {
|
||||
// memberService.setMemberFaceInfo(getLoginMemberId(), file, PlatformContext.getValue());
|
||||
// return ResponseDTO.ok();
|
||||
// }
|
||||
|
||||
/**
|
||||
* 提现申请
|
||||
|
||||
@@ -195,17 +195,17 @@ public class LoginRegisterServiceImpl extends BaseServiceImpl {
|
||||
}
|
||||
|
||||
//将微信头像上传到OSS
|
||||
public String updateWxImgToOss(String avatar) throws IOException {
|
||||
CloseableHttpClient client = HttpClientBuilder.create().build();
|
||||
HttpGet httpget = new HttpGet(avatar);
|
||||
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1200).build();
|
||||
httpget.setConfig(requestConfig);
|
||||
HttpResponse response = null;
|
||||
response = client.execute(httpget);
|
||||
HttpEntity resEntity = response.getEntity();
|
||||
InputStream inputStream = resEntity.getContent();
|
||||
return ossClientUtil.upload(System.currentTimeMillis() + ".png", inputStream);
|
||||
}
|
||||
// public String updateWxImgToOss(String avatar) throws IOException {
|
||||
// CloseableHttpClient client = HttpClientBuilder.create().build();
|
||||
// HttpGet httpget = new HttpGet(avatar);
|
||||
// RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1200).build();
|
||||
// httpget.setConfig(requestConfig);
|
||||
// HttpResponse response = null;
|
||||
// response = client.execute(httpget);
|
||||
// HttpEntity resEntity = response.getEntity();
|
||||
// InputStream inputStream = resEntity.getContent();
|
||||
// return ossClientUtil.upload(System.currentTimeMillis() + ".png", inputStream);
|
||||
// }
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -23,5 +23,7 @@ sv:
|
||||
file:
|
||||
store:
|
||||
image: imagetest/
|
||||
video: videotest/
|
||||
coach: coachtest/
|
||||
config: configtest/
|
||||
barcode: barcodetest/
|
||||
health: health-docstest/
|
||||
|
||||
@@ -16,5 +16,7 @@ sv:
|
||||
file:
|
||||
store:
|
||||
image: image/
|
||||
video: video/
|
||||
coach: coach/
|
||||
config: config/
|
||||
barcode: barcode/
|
||||
health: health-docs/
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8
|
||||
username: yingdd
|
||||
password: Yingdd2015
|
||||
redis:
|
||||
host: 121.41.101.63
|
||||
password: yingdiandian2015
|
||||
timeout: 6000
|
||||
port: 6379
|
||||
|
||||
jpa:
|
||||
show-sql: true
|
||||
@@ -114,15 +114,15 @@ public class MemberController extends OmsController {
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/member/upload/face", method = RequestMethod.POST)
|
||||
public ResponseDTO uploadFace(@RequestParam("memberId") Integer memberId, @RequestParam("file") MultipartFile file) {
|
||||
try {
|
||||
memberService.setMemberFaceInfo(memberId, file, 1);
|
||||
} catch (ServiceException e) {
|
||||
return new ResponseDTO(-1, e.getMessage());
|
||||
}
|
||||
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
// @RequestMapping(value = "/member/upload/face", method = RequestMethod.POST)
|
||||
// public ResponseDTO uploadFace(@RequestParam("memberId") Integer memberId, @RequestParam("file") MultipartFile file) {
|
||||
// try {
|
||||
// memberService.setMemberFaceInfo(memberId, file, 1);
|
||||
// } catch (ServiceException e) {
|
||||
// return new ResponseDTO(-1, e.getMessage());
|
||||
// }
|
||||
//
|
||||
// return ResponseDTO.ok();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ public class UploadController extends OmsController {
|
||||
|
||||
@RequestMapping("/image")
|
||||
public ResponseDTO uploadImg(@RequestParam("file") MultipartFile file) throws IOException {
|
||||
String imgUrl = ossClientUtil.uploadImg(file);
|
||||
String imgUrl = ossClientUtil.uploadConfigImg(file);
|
||||
return ResponseDTO.ok().addAttribute("img",imgUrl);
|
||||
}
|
||||
|
||||
@@ -32,23 +32,23 @@ public class UploadController extends OmsController {
|
||||
* 上传图片到阿里云
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/uploadImg")
|
||||
public ResponseDTO uploadImage(MultipartFile file) throws IOException {
|
||||
String imgUrl = ossClientUtil.uploadImg(file);
|
||||
return ResponseDTO.ok(imgUrl);
|
||||
|
||||
|
||||
}
|
||||
// @RequestMapping(value = "/uploadImg")
|
||||
// public ResponseDTO uploadImage(MultipartFile file) throws IOException {
|
||||
// String imgUrl = ossClientUtil.uploadImg(file);
|
||||
// return ResponseDTO.ok(imgUrl);
|
||||
//
|
||||
//
|
||||
// }
|
||||
|
||||
/**
|
||||
* 上传视频到阿里云
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/uploadVideo")
|
||||
public ResponseDTO uploadVideo(@RequestParam("video") MultipartFile multipartFile){
|
||||
String videoUrl = ossClientUtil.uploadVideo(multipartFile);
|
||||
return ResponseDTO.ok(videoUrl);
|
||||
}
|
||||
// @RequestMapping(value = "/uploadVideo")
|
||||
// public ResponseDTO uploadVideo(@RequestParam("video") MultipartFile multipartFile){
|
||||
// String videoUrl = ossClientUtil.uploadVideo(multipartFile);
|
||||
// return ResponseDTO.ok(videoUrl);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 上传健康报告到阿里云
|
||||
|
||||
@@ -19,5 +19,7 @@ sv:
|
||||
file:
|
||||
store:
|
||||
image: imagetest/
|
||||
video: videotest/
|
||||
coach: coachtest/
|
||||
config: configtest/
|
||||
barcode: barcodetest/
|
||||
health: health-docstest/
|
||||
|
||||
@@ -16,5 +16,7 @@ sv:
|
||||
file:
|
||||
store:
|
||||
image: image/
|
||||
video: video/
|
||||
coach: coach/
|
||||
config: config/
|
||||
barcode: barcode/
|
||||
health: health-docs/
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
spring:
|
||||
datasource:
|
||||
# url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8
|
||||
# username: yingdd
|
||||
# password: Yingdd2015
|
||||
url: jdbc:mysql://127.0.0.1:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2b8&useAffectedRows=true
|
||||
username: root
|
||||
password: 123456
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
password:
|
||||
timeout: 6000
|
||||
port: 6379
|
||||
|
||||
jpa:
|
||||
show-sql: true
|
||||
|
||||
sv:
|
||||
file:
|
||||
store:
|
||||
image: imagetest/
|
||||
video: videotest/
|
||||
health: health-docstest/
|
||||
@@ -508,50 +508,50 @@ public class MemberService extends BaseServiceImpl {
|
||||
@Transactional
|
||||
@Deprecated
|
||||
public void setMemberFaceInfo(Integer memberId, MultipartFile file, Integer platformId) {
|
||||
Date now = new Date();
|
||||
MemberFaceInfo memberFaceInfo = memberMapper.findMemberFaceInfo(memberId);
|
||||
if (memberFaceInfo != null) {
|
||||
//判断上次修改日期 如果小于30天不允许修改
|
||||
if ((now.getTime() - memberFaceInfo.getModifiedTime().getTime()) <= ((long) 30 * 24 * 60 * 60 * 1000)) {
|
||||
throw new ServiceException("人脸照片只允许30天设置一次");
|
||||
}
|
||||
}
|
||||
synchronized (("face" + memberId).intern()) {
|
||||
InputStream inputStream = null;
|
||||
try {
|
||||
inputStream = file.getInputStream();
|
||||
Member member = memberMapper.findById(memberId);
|
||||
if (member != null) {
|
||||
String imgUrl = ossClientUtil.uploadImg(new BufferedInputStream(inputStream), file.getOriginalFilename());
|
||||
logger.info(memberId + "上传oss文件成功." + imgUrl);
|
||||
Integer subjectId = null;
|
||||
// if (faceService.login()){
|
||||
// ByteArrayInputStream byteArrayInputStream = getByteArrayInputStream(file);
|
||||
// Integer faceId = faceService.uploadFace(byteArrayInputStream);
|
||||
// logger.info(memberId + "& faceId ===" + faceId);
|
||||
// subjectId = faceService.addSubject(faceId, member);
|
||||
// logger.info(memberId + "& subjectId ===" + subjectId);
|
||||
// }
|
||||
// Date now = new Date();
|
||||
// MemberFaceInfo memberFaceInfo = memberMapper.findMemberFaceInfo(memberId);
|
||||
// if (memberFaceInfo != null) {
|
||||
// //删除原有的subject
|
||||
// faceService.deleteSubject(memberFaceInfo.getFaceId());
|
||||
// //判断上次修改日期 如果小于30天不允许修改
|
||||
// if ((now.getTime() - memberFaceInfo.getModifiedTime().getTime()) <= ((long) 30 * 24 * 60 * 60 * 1000)) {
|
||||
// throw new ServiceException("人脸照片只允许30天设置一次");
|
||||
// }
|
||||
// }
|
||||
// synchronized (("face" + memberId).intern()) {
|
||||
// InputStream inputStream = null;
|
||||
// try {
|
||||
// inputStream = file.getInputStream();
|
||||
// Member member = memberMapper.findById(memberId);
|
||||
// if (member != null) {
|
||||
// String imgUrl = ossClientUtil.uploadImg(new BufferedInputStream(inputStream), file.getOriginalFilename());
|
||||
// logger.info(memberId + "上传oss文件成功." + imgUrl);
|
||||
// Integer subjectId = null;
|
||||
//// if (faceService.login()){
|
||||
//// ByteArrayInputStream byteArrayInputStream = getByteArrayInputStream(file);
|
||||
//// Integer faceId = faceService.uploadFace(byteArrayInputStream);
|
||||
//// logger.info(memberId + "& faceId ===" + faceId);
|
||||
//// subjectId = faceService.addSubject(faceId, member);
|
||||
//// logger.info(memberId + "& subjectId ===" + subjectId);
|
||||
//// }
|
||||
//// if (memberFaceInfo != null) {
|
||||
//// //删除原有的subject
|
||||
//// faceService.deleteSubject(memberFaceInfo.getFaceId());
|
||||
//// }
|
||||
// setMemberFaceInfo(subjectId, imgUrl, memberId, platformId);
|
||||
// }
|
||||
// } catch (FaceServiceException e) {
|
||||
// e.printStackTrace();
|
||||
// throw new ServiceException(e.getMessage());
|
||||
// } catch (Exception e) {
|
||||
// logger.info("unknown error",e);
|
||||
// throw new ServiceException("设置人脸失败,请稍后再试");
|
||||
// }finally {
|
||||
// try {
|
||||
// inputStream.close();
|
||||
// } catch (IOException e) {
|
||||
// // do nothing
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
setMemberFaceInfo(subjectId, imgUrl, memberId, platformId);
|
||||
}
|
||||
} catch (FaceServiceException e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceException(e.getMessage());
|
||||
} catch (Exception e) {
|
||||
logger.info("unknown error",e);
|
||||
throw new ServiceException("设置人脸失败,请稍后再试");
|
||||
}finally {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 将文件中流转换为字节数组,通过缓存数据的方式转换防止内存溢出
|
||||
|
||||
@@ -52,8 +52,12 @@ public class OSSClientUtil {
|
||||
//文件存储目录
|
||||
@Value("${sv.file.store.image}")
|
||||
private String imageDir;
|
||||
@Value("${sv.file.store.video}")
|
||||
private String videoDir;
|
||||
@Value("${sv.file.store.coach}")
|
||||
private String coachDir;
|
||||
@Value("${sv.file.store.config}")
|
||||
private String configDir;
|
||||
@Value("${sv.file.store.barcode}")
|
||||
private String barcodeDir;
|
||||
@Value("${sv.file.store.health}")
|
||||
private String healthDir;
|
||||
|
||||
@@ -62,12 +66,6 @@ public class OSSClientUtil {
|
||||
|
||||
private OSSClient ossClient;
|
||||
|
||||
|
||||
public String upload(String filename, InputStream file) {
|
||||
return uploadImg(file, filename);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*
|
||||
@@ -76,17 +74,22 @@ public class OSSClientUtil {
|
||||
*/
|
||||
public String uploadImg(MultipartFile file) throws IOException {
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
return uploadImg(file.getInputStream(), originalFilename);
|
||||
return uploadImg(file.getInputStream(), originalFilename, imageDir);
|
||||
}
|
||||
|
||||
public String uploadImg(InputStream inputStream, String originalFilename) {
|
||||
public String uploadConfigImg(MultipartFile file) throws IOException {
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
return uploadImg(file.getInputStream(), originalFilename, configDir);
|
||||
}
|
||||
|
||||
public String uploadImg(InputStream inputStream, String originalFilename,String path) {
|
||||
String backUrl = "";
|
||||
try {
|
||||
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
||||
String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
|
||||
Random random = new Random();
|
||||
String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
|
||||
backUrl = imageDir + name;
|
||||
backUrl = path + name;
|
||||
// 上传文件
|
||||
ossClient.putObject(bucketName, backUrl, inputStream);
|
||||
ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
|
||||
@@ -154,35 +157,35 @@ public class OSSClientUtil {
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
public String uploadVideo(MultipartFile file) {
|
||||
String backUrl = "";
|
||||
try {
|
||||
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
|
||||
Random random = new Random();
|
||||
String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
|
||||
backUrl = videoDir + name;
|
||||
// 上传文件
|
||||
ossClient.putObject(bucketName, backUrl, file.getInputStream());
|
||||
ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
|
||||
// 判断是否上传成功
|
||||
boolean uploadResult = ossClient.doesObjectExist(bucketName, backUrl);
|
||||
|
||||
if (uploadResult) {
|
||||
backUrl = getVideoUrl(name);
|
||||
} else {
|
||||
backUrl = "";
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (ossClient != null) {
|
||||
ossClient.shutdown();
|
||||
}
|
||||
}
|
||||
return backUrl;
|
||||
}
|
||||
// public String uploadVideo(MultipartFile file) {
|
||||
// String backUrl = "";
|
||||
// try {
|
||||
// ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
||||
// String originalFilename = file.getOriginalFilename();
|
||||
// String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
|
||||
// Random random = new Random();
|
||||
// String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
|
||||
// backUrl = videoDir + name;
|
||||
// // 上传文件
|
||||
// ossClient.putObject(bucketName, backUrl, file.getInputStream());
|
||||
// ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
|
||||
// // 判断是否上传成功
|
||||
// boolean uploadResult = ossClient.doesObjectExist(bucketName, backUrl);
|
||||
//
|
||||
// if (uploadResult) {
|
||||
// backUrl = getVideoUrl(name);
|
||||
// } else {
|
||||
// backUrl = "";
|
||||
// }
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// } finally {
|
||||
// if (ossClient != null) {
|
||||
// ossClient.shutdown();
|
||||
// }
|
||||
// }
|
||||
// return backUrl;
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
@@ -199,19 +202,19 @@ public class OSSClientUtil {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得视频路径
|
||||
*
|
||||
* @param fileUrl
|
||||
* @return
|
||||
*/
|
||||
public String getVideoUrl(String fileUrl) {
|
||||
if (!StringUtils.isEmpty(fileUrl)) {
|
||||
String[] split = fileUrl.split("/");
|
||||
return url + this.videoDir + split[split.length - 1];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// /**
|
||||
// * 获得视频路径
|
||||
// *
|
||||
// * @param fileUrl
|
||||
// * @return
|
||||
// */
|
||||
// public String getVideoUrl(String fileUrl) {
|
||||
// if (!StringUtils.isEmpty(fileUrl)) {
|
||||
// String[] split = fileUrl.split("/");
|
||||
// return url + this.videoDir + split[split.length - 1];
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
|
||||
|
||||
public String getProtocol() {
|
||||
@@ -270,14 +273,6 @@ public class OSSClientUtil {
|
||||
this.ossClient = ossClient;
|
||||
}
|
||||
|
||||
public String getVideoDir() {
|
||||
return videoDir;
|
||||
}
|
||||
|
||||
public void setVideoDir(String videoDir) {
|
||||
this.videoDir = videoDir;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
@@ -286,4 +281,43 @@ public class OSSClientUtil {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public Log getLog() {
|
||||
return log;
|
||||
}
|
||||
|
||||
public void setLog(Log log) {
|
||||
this.log = log;
|
||||
}
|
||||
|
||||
public String getCoachDir() {
|
||||
return coachDir;
|
||||
}
|
||||
|
||||
public void setCoachDir(String coachDir) {
|
||||
this.coachDir = coachDir;
|
||||
}
|
||||
|
||||
public String getConfigDir() {
|
||||
return configDir;
|
||||
}
|
||||
|
||||
public void setConfigDir(String configDir) {
|
||||
this.configDir = configDir;
|
||||
}
|
||||
|
||||
public String getBarcodeDir() {
|
||||
return barcodeDir;
|
||||
}
|
||||
|
||||
public void setBarcodeDir(String barcodeDir) {
|
||||
this.barcodeDir = barcodeDir;
|
||||
}
|
||||
|
||||
public String getHealthDir() {
|
||||
return healthDir;
|
||||
}
|
||||
|
||||
public void setHealthDir(String healthDir) {
|
||||
this.healthDir = healthDir;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ public class CoachService extends BaseServiceImpl {
|
||||
Platform platform = platformService.findById(1);
|
||||
coachMapper.insert(coach);
|
||||
InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/myBookings/index", coach.getId().toString(), "190");
|
||||
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png");
|
||||
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png",ossClientUtil.getCoachDir());
|
||||
coach.setQrCode(url);
|
||||
coachMapper.update(coach);
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ public class VenueLessonService extends BaseServiceImpl {
|
||||
Platform platform = platformService.findById(1);
|
||||
venueLessonMapper.insert(venueLesson);
|
||||
InputStream inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(),"wx_xcx_token",cacheService).getXCXQrCode("pages/myBookings/index",venueLesson.getId().toString(),"190");
|
||||
String url = ossClientUtil.uploadImg(inputStream,"qrcode.png");
|
||||
String url = ossClientUtil.uploadImg(inputStream,"qrcode.png", ossClientUtil.getBarcodeDir());
|
||||
venueLesson.setQrCode(url);
|
||||
venueLessonMapper.update(venueLesson);
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ public class VenueService extends BaseServiceImpl {
|
||||
}else {
|
||||
inputStream = WxXCXService.getNewInstance(platform.getAppId(), platform.getSecret(), "wx_xcx_token", cacheService).getXCXQrCode("pages/gymnasium/index", venueId.toString(), "1280");
|
||||
}
|
||||
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png");
|
||||
String url = ossClientUtil.uploadImg(inputStream, "qrcode.png",ossClientUtil.getBarcodeDir());
|
||||
venue.setCodeUrl(url);
|
||||
venueMapper.update(venue);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user