提交 254c89a1 authored 作者: malei's avatar malei

feat(file): 文件管理

1. 中文乱码 References: N/A
上级 44caa963
package com.zrqx.file.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example.Criteria;
import com.zrqx.core.enums.book.BookDownEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.model.file.FileInfo;
......@@ -58,6 +16,27 @@ import com.zrqx.file.config.FTPConfig;
import com.zrqx.file.service.FileService;
import com.zrqx.file.util.BookUtil;
import com.zrqx.file.util.MockMultipartFile;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example.Criteria;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@RestController
@RequestMapping(value = "/ftp")
......@@ -635,7 +614,7 @@ public class FTPController {
return CallBack.success(map);
}
public FileInfo uploadVideo(MultipartFile file) {
public FileInfo uploadVideo(MultipartFile file) throws UnsupportedEncodingException {
FileInfo entity = service.uploadFile(file);
File newfile = new File(rootPath + entity.getPath() + "/" + entity.getFileName() + entity.getSuffixName());
Encoder encoder = new Encoder();
......
......@@ -57,7 +57,7 @@ public class FileController {
// 处理文件上传
@ApiOperation(value = "文件上传 返回唯一标识")
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String uploadImg(@RequestParam("file") MultipartFile file) {
public String uploadImg(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException {
FileInfo entity = service.uploadFile(file);
if (!service.insert(entity)) {
throw new BaseException("上传失败!");
......@@ -77,7 +77,7 @@ public class FileController {
@ApiOperation(value = "文件上传 返回文件详细信息")
@RequestMapping(value = "/upload/info", method = RequestMethod.POST)
public CallBack<FileInfo> upload(@RequestParam("file") MultipartFile file) throws InputFormatException, EncoderException {
public CallBack<FileInfo> upload(@RequestParam("file") MultipartFile file) throws InputFormatException, EncoderException, UnsupportedEncodingException {
//重复资源验证
String fileName = file.getOriginalFilename();
service.createCriteria().andEqualTo("originalFileName", fileName);
......@@ -115,7 +115,7 @@ public class FileController {
// 处理文件上传
@ApiOperation(value = "文件上传 视频")
@RequestMapping(value = "/upload/video", method = RequestMethod.POST)
public FileInfo uploadVideo(@RequestParam("file") MultipartFile file) {
public FileInfo uploadVideo(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException {
FileInfo entity = service.uploadFile(file);
File newfile = new File(rootPath + entity.getPath() + "/" + entity.getFileName() + entity.getSuffixName());
Encoder encoder = new Encoder();
......
......@@ -7,8 +7,10 @@ import com.zrqx.core.model.file.FileInfo;
import com.zrqx.core.model.pdf.PdfInfo;
import com.zrqx.core.service.BaseService;
import java.io.UnsupportedEncodingException;
public interface FileService extends BaseService<FileInfo, Integer>{
public FileInfo uploadFile(MultipartFile file);
public FileInfo uploadFile(MultipartFile file) throws UnsupportedEncodingException;
public FileInfo createFile(CreatreQRCodeForm form);
public PdfInfo uploadFilePdf(MultipartFile file);
......
......@@ -18,10 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Optional;
......@@ -41,10 +38,10 @@ public class FileServiceImpl extends BaseServiceImpl<FileInfo, Integer> implemen
private String rootPath;
@Override
public FileInfo uploadFile(MultipartFile file) {
public FileInfo uploadFile(MultipartFile file) throws UnsupportedEncodingException {
String contentType = file.getContentType();
// 获取文件名
String fileName = file.getOriginalFilename();
String fileName = new String(file.getOriginalFilename().getBytes("ISO-8859-1"),"UTF-8");
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
// 解决中文问题,liunx下中文路径,图片显示问题
......
server:
port: 8297
tomcat:
uri-encoding: UTF-8
spring:
http:
encoding:
charset: utf-8
enabled: true
force: true
cloud:
config:
uri: http://localhost:8218 #配置中心地址
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论