增加上传图片文件
parent
5e27be5d15
commit
2bd77f3750
|
@ -1,6 +1,6 @@
|
|||
# Tomcat
|
||||
server:
|
||||
port: 9203
|
||||
port: 9204
|
||||
|
||||
# Spring
|
||||
spring:
|
||||
|
|
|
@ -17,7 +17,11 @@
|
|||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.tobato</groupId>
|
||||
<artifactId>fastdfs-client</artifactId>
|
||||
<version>1.26.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.february</groupId>
|
||||
<artifactId>february-patient-circle-common</artifactId>
|
||||
|
@ -47,6 +51,16 @@
|
|||
<groupId>com.github.tobato</groupId>
|
||||
<artifactId>fastdfs-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
<version>3.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>2.10.10</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -130,4 +130,8 @@ public class PatientController {
|
|||
public Result patientToSick(@RequestBody ReviewPatientRequest reviewPatientRequest){
|
||||
return patientService.patientToSick(reviewPatientRequest);
|
||||
}
|
||||
@PostMapping("/uploadMsg")
|
||||
public Result uploadMsg(@RequestParam("file")MultipartFile file){
|
||||
return patientService.uploadMsg(file);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,4 +43,5 @@ public interface PatientService {
|
|||
|
||||
Result patientToSick(ReviewPatientRequest reviewPatientRequest);
|
||||
|
||||
Result uploadMsg(MultipartFile file);
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import com.february.patient.circle.mapper.PatientMapper;
|
|||
import com.february.patient.circle.result.Result;
|
||||
import com.february.patient.circle.service.PatientService;
|
||||
import com.february.patient.circle.util.FastUtil;
|
||||
import com.february.patient.circle.util.OssUtil;
|
||||
import io.swagger.models.auth.In;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -29,6 +30,8 @@ public class PatientServiceImpl implements PatientService {
|
|||
private PatientMapper patientMapper;
|
||||
@Autowired
|
||||
private FastUtil fastUtil;
|
||||
@Autowired
|
||||
private OssUtil ossUtil;
|
||||
@Override
|
||||
public Result<List<PatientCircle>> patientCircleList(Integer userId) {
|
||||
List<PatientCircle> list=patientMapper.patientCircleList(userId);
|
||||
|
@ -87,7 +90,7 @@ public class PatientServiceImpl implements PatientService {
|
|||
public Result upload(MultipartFile file) {
|
||||
try {
|
||||
String upload = fastUtil.upload(file);
|
||||
return Result.success("http://192.168.192.128:8888/"+upload,"上传成功");
|
||||
return Result.success("http://10.100.1.2:8888/"+upload,"上传成功");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -108,4 +111,15 @@ public class PatientServiceImpl implements PatientService {
|
|||
}
|
||||
return Result.success("评论失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result uploadMsg(MultipartFile file) {
|
||||
try {
|
||||
String s = OssUtil.UploadImage(file);
|
||||
return Result.success(s);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return Result.success("上传失败");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
package com.february.patient.circle.util;
|
||||
|
||||
|
||||
import com.aliyun.oss.OSS;
|
||||
import com.aliyun.oss.OSSClientBuilder;
|
||||
import org.joda.time.DateTime;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Component
|
||||
public class OssUtil {
|
||||
|
||||
static String endpoint = "oss-cn-shanghai.aliyuncs.com";
|
||||
static String accessKeyId = "LTAI5tMtBBNwEhU9PxTgQJd9";
|
||||
static String accessKeySecret = "y9pJbQtL7cSAlSPmTFugI8aH86mLzE";
|
||||
static String bucketName = "srb-file-cong";
|
||||
static String filePath = "avatar";
|
||||
|
||||
public static String UploadImage(MultipartFile file) throws IOException {
|
||||
|
||||
// String filePath = "C:\\Users\\Administrator\\Pictures\\微信图片\\QQ图片20231015190011.jpg";
|
||||
|
||||
// 获取文件的输入流
|
||||
InputStream inputStream = file.getInputStream();
|
||||
|
||||
// 获取文件的原始名称
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
|
||||
// 路径 + 名称
|
||||
String fileName = originalFilename;
|
||||
|
||||
// 创建OSSClient实例。
|
||||
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
||||
|
||||
// 日期格式化
|
||||
String folderTime = new DateTime().toString("/yyyy/MM/dd/");
|
||||
|
||||
// 唯一ID + 切割.之后的文件类型
|
||||
fileName = filePath + folderTime + UUID.randomUUID().toString() + fileName.substring(fileName.lastIndexOf("."));
|
||||
|
||||
// 上传文件。
|
||||
ossClient.putObject(bucketName, fileName, inputStream);
|
||||
|
||||
// 释放OSSClient资源。
|
||||
ossClient.shutdown();
|
||||
|
||||
return "https://" + bucketName + "." + endpoint + "/" + fileName;
|
||||
}
|
||||
|
||||
public static void removeFile(String url) {
|
||||
|
||||
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
||||
String host = "https://" + bucketName + "." + endpoint + "/";
|
||||
String objectName = url.substring(host.length());
|
||||
try {
|
||||
ossClient.deleteObject(bucketName, objectName);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
ossClient.shutdown();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,7 +1,9 @@
|
|||
# Tomcat
|
||||
server:
|
||||
port: 9203
|
||||
|
||||
mybatis:
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
# Spring
|
||||
spring:
|
||||
application:
|
||||
|
@ -25,3 +27,15 @@ spring:
|
|||
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||
rabbitmq:
|
||||
host: 10.100.1.3
|
||||
fdfs:
|
||||
so-timeout: 1500 # socket 连接时长
|
||||
connect-timeout: 600 # 连接 tracker 服务器超时时长
|
||||
# 这两个是你服务器的 IP 地址,注意 23000 端口也要打开,阿里云服务器记得配置安全组。tracker 要和 stroage 服务进行交流
|
||||
tracker-list: 10.100.1.2:22122
|
||||
web-server-url: 10.100.1.2:8888
|
||||
pool:
|
||||
jmx-enabled: false
|
||||
# 生成缩略图
|
||||
thumb-image:
|
||||
height: 500
|
||||
width: 500
|
||||
|
|
Loading…
Reference in New Issue