java中的接口是类吗
286
2022-12-07
SpringBoot整合FastDFS方法过程详解
一.pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> http://
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
http://
二.application.yml
#fastdfs 配置
fdfs:
so-timeout: 150000
connect-timeout: 150000 #超时时间
thumb-image:
width: 150
height: 150
tracker-list:
- 111.111.111.111:22122 #ip:端口号
spring:
thymeleaf:
prefix: classpath:/templates/
servlet:
multipart:
max-file-size: 50MB #单次单个文件最大大小
max-request-size: 50MB #单次上传所有文件的总大小
#注意,这里springboot默认配置的大小是1MB和10Mhttp://B,可能不够用,具体参考MultipartProperties.java
三.FastUtil.java 前提先将Nginx和FastDFS整合
@Component
public class FastUtil {
private final Logger logger = LoggerFactory.getLogger(FastUtil.class);
@Autowired
private FastFileStorageClient fastFileStorageClient;
/**
* 文件上传
* 最后返回fastDFS中的文件名称;
*
* @param bytes 文件字节
* @param fileSize 文件大小
* @param extension 文件扩展名
* @return fastDfs路径
*/
public String uploadFile(byte[] bytes, long fileSize, String extension) {
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
StorePath storePath = fastFileStorageClient.uploadFile(byteArrayInputStream, fileSize, extension, null);
return "http://111.111.111.111/"+storePath.getFullPath();
}
public byte[] downloadFile(String group,String path) throws IOException {
DownloadByteArray downloadByteArray = new DownloadByteArray();
byte[] bytes = fastFileStorageClient.downloadFile(group, path, downloadByteArray);
return bytes;
}
}
四.配置类 FdfsConfig.java
@Configuration
@Import(FdfsClientConfig.class)
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class FdfsConfig {
}
五.Controller
@RestController
public class FdfsController {
@Autowired
private FastUtil fastDFSClientWrapper;
private final Logger logger = LoggerFactory.getLogger(FdfsController.class);
@PostMapping("/upload")
@ResponseBody
public String upload(MultipartFile file) throws Exception {
byte[] bytes = new byte[0];
try {
bytes = file.getBytes();
} catch (IOException e) {
logger.error("获取文件错误");
e.printStackTrace();
}
//获取源文件名称
String originalFileName = file.getOriginalFilename();
//获取文件后缀--.doc
String extension = originalFileName.substring(originalFileName.lastIndexOf(".") + 1);
String fileName = file.getName();
//获取文件大小
long fileSize = file.getSize();
System.out.println(originalFileName + "==" + fileName + "==" + fileSize + "==" + extension + "==" + bytes.length);
String string = fastDFSClientWrapper.uploadFile(bytes, fileSize, extension);
return string;
}
}
六.前端页面 index.html
xmlns:sec="http://thymeleaf.org/thymeleaf-extras-saRRMbuOfuPpringsecurity3">
选择文件:
七.开始上传
最后在页面上返回一个URL,可以直接访问
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~