提交 032f0c5b authored 作者: zhangshuang's avatar zhangshuang

代码优化

上级 4aea4105
package com.zjty.ftp.service.impl; package com.zjty.ftp.service.impl;
import com.zjty.ftp.base.response.ServerResponse;
import com.zjty.ftp.service.FileDownLoadService; import com.zjty.ftp.service.FileDownLoadService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.util.List;
@Service @Service
public class FileDownLoadServiceImpl implements FileDownLoadService { public class FileDownLoadServiceImpl implements FileDownLoadService {
@Value("${file.address}")
private String fileAddress;
@Override @Override
public void fileDownLoad(String fileName, HttpServletResponse response, HttpServletRequest httpServletRequest) { public void fileDownLoad(String fileName, HttpServletResponse response, HttpServletRequest httpServletRequest) {
/*response.setContentType("application/force-download");// 设置强制下载不打开 if(fileName != null){
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);// 设置文件名
*/
response.setHeader("content-type", "application/octet-stream"); response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream");
try { try {
...@@ -23,13 +25,24 @@ public class FileDownLoadServiceImpl implements FileDownLoadService { ...@@ -23,13 +25,24 @@ public class FileDownLoadServiceImpl implements FileDownLoadService {
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
File sourceFile = new File(fileAddress);
File[] files = sourceFile.listFiles();
if(files != null && files.length != 0){
for (File f:files){
if (f.getName().startsWith(fileName)){
fileName = f.getName();
break;
}
}
}
File file = new File(fileAddress + "/" + fileName);
setFileDownloadHeader(httpServletRequest,response,fileName); setFileDownloadHeader(httpServletRequest,response,fileName);
OutputStream os = null; OutputStream os = null;
InputStream is = null; InputStream is = null;
BufferedInputStream bs = null; BufferedInputStream bs = null;
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
try { try {
is = new FileInputStream(new File("/file/uploads/" + fileName)); is = new FileInputStream(file);
bs = new BufferedInputStream(is); bs = new BufferedInputStream(is);
os = response.getOutputStream(); os = response.getOutputStream();
int i = bs.read(buffer); int i = bs.read(buffer);
...@@ -52,6 +65,7 @@ public class FileDownLoadServiceImpl implements FileDownLoadService { ...@@ -52,6 +65,7 @@ public class FileDownLoadServiceImpl implements FileDownLoadService {
} }
} }
} }
}
/** /**
* 解决中文名称 * 解决中文名称
......
...@@ -3,6 +3,7 @@ package com.zjty.ftp.service.impl; ...@@ -3,6 +3,7 @@ package com.zjty.ftp.service.impl;
import com.zjty.ftp.service.FileUploadService; import com.zjty.ftp.service.FileUploadService;
import com.zjty.ftp.base.response.ServerResponse; import com.zjty.ftp.base.response.ServerResponse;
import com.zjty.ftp.entity.FileReturn; import com.zjty.ftp.entity.FileReturn;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
...@@ -16,6 +17,9 @@ import java.util.UUID; ...@@ -16,6 +17,9 @@ import java.util.UUID;
@Service @Service
public class FileUploadServiceImpl implements FileUploadService { public class FileUploadServiceImpl implements FileUploadService {
@Value("${file.address}")
private String fileAddress;
/** /**
* 前台文件上传 * 前台文件上传
* @param request * @param request
...@@ -35,7 +39,7 @@ public class FileUploadServiceImpl implements FileUploadService { ...@@ -35,7 +39,7 @@ public class FileUploadServiceImpl implements FileUploadService {
//String suffix = sourceName.substring(sourceName.lastIndexOf(".")); //String suffix = sourceName.substring(sourceName.lastIndexOf("."));
//String fileName = UUID.randomUUID().toString() + suffix; //String fileName = UUID.randomUUID().toString() + suffix;
//不存在该目录,创建目录 //不存在该目录,创建目录
File file = new File("/file/uploads"); File file = new File(fileAddress);
if(!file.exists()){ if(!file.exists()){
file.mkdirs(); file.mkdirs();
} }
......
...@@ -3,3 +3,5 @@ server.port=8093 ...@@ -3,3 +3,5 @@ server.port=8093
# spring-http-ļϴ # spring-http-ļϴ
spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB spring.servlet.multipart.max-request-size=200MB
file.address=/file/uploads
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论