From 72219adeceb06a060978e876880750f804df5772 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期一, 22 七月 2024 16:24:05 +0800
Subject: [PATCH] login bug
---
pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java | 97 +++++++++++++++++++++++++-----------------------
1 files changed, 50 insertions(+), 47 deletions(-)
diff --git a/pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java b/pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java
index 57f5648..f858373 100644
--- a/pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java
+++ b/pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.io.FileInputStream;
+import java.net.URLEncoder;
/**
* web鏂囦欢涓嬭浇
@@ -44,65 +45,67 @@
*/
@GetMapping("/down")
public void down(String id, HttpServletRequest req, HttpServletResponse rep){
- OthFile fPo = sv.selectById(id) ;
- if(fPo != null){
- FileRestVo frVo = fileOp.parseHashcode(fmUrl, fPo.hash) ;
- if(frVo.fileSysAbsolutePath != null){
- if(!frVo.fileSysAbsolutePath.endsWith("\\\\") && !frVo.fileSysAbsolutePath.endsWith("/") ){
- frVo.fileSysAbsolutePath = frVo.fileSysAbsolutePath + "/" ;
+ try{
+ OthFile fPo = sv.selectById(id) ;
+ if(fPo != null){
+ FileRestVo frVo = fileOp.parseHashcode(fmUrl, fPo.hash) ;
+ if(frVo.fileSysAbsolutePath != null){
+ if(!frVo.fileSysAbsolutePath.endsWith("\\\\") && !frVo.fileSysAbsolutePath.endsWith("/") ){
+ frVo.fileSysAbsolutePath = frVo.fileSysAbsolutePath + "/" ;
+ }
}
- }
- String filePath = frVo.fileSysAbsolutePath + fPo.filePath ;
- File f = new File(filePath) ;
- if(f.exists()){
- String fileReName = fPo.orgName + "." + fPo.extName ;
- try {
- fileReName = new String(fileReName.getBytes("UTF-8"), "ISO-8859-1");
- } catch (Exception e) {
- fileReName = "file" ;
- }
- rep.addHeader("content-type", "application/octet-stream");
- rep.addHeader("Content-Disposition", "attachment;fileName=" + fileReName);
+ String filePath = frVo.fileSysAbsolutePath + fPo.filePath ;
+ File f = new File(filePath) ;
+ if(f.exists()){
+ String fileReName = fPo.orgName + "." + fPo.extName ;
+ //URLEncoder.encode鍙互闃叉涓枃涔辩爜
+ fileReName = URLEncoder.encode(fileReName, "UTF-8").replaceAll("\\+", "%20");
+ rep.addHeader("content-type", "application/octet-stream");
+ rep.addHeader("Content-Disposition", "attachment;fileName=" + fileReName);
- ServletOutputStream out = null;
- FileInputStream in = null ;
- try {
- out = rep.getOutputStream() ;
- } catch (Exception ee) {
- out = null ;
- }finally{
- if(out != null){
- byte[] bs = new byte[1024] ;
- int len = -1 ;
- try {
- in = new FileInputStream(f);
- len = in.read(bs) ;
- while(len != -1){
- out.write(bs, 0, len);
+ ServletOutputStream out = null;
+ FileInputStream in = null ;
+ try {
+ out = rep.getOutputStream() ;
+ } catch (Exception ee) {
+ out = null ;
+ }finally{
+ if(out != null){
+ byte[] bs = new byte[1024] ;
+ int len = -1 ;
+ try {
+ in = new FileInputStream(f);
len = in.read(bs) ;
- }
- } catch (Exception eee) {
- } finally {
- if(out != null){
- try{
- out.flush();
- out.close();
- }catch(Exception e){
- }finally{
- if(in != null){
- try{
- in.close();
- }catch(Exception e){
+ while(len != -1){
+ out.write(bs, 0, len);
+ len = in.read(bs) ;
+ }
+ } catch (Exception eee) {
+ } finally {
+ if(out != null){
+ try{
+ out.flush();
+ out.close();
+ }catch(Exception e){
+ }finally{
+ if(in != null){
+ try{
+ in.close();
+ }catch(Exception e){
+ }
}
}
}
}
}
}
+ }else{
}
}else{
}
- }else{
+ }catch (Exception e){
+ log.error("涓嬭浇鏂囦欢鏃跺紓甯�", e);
}
+
}
}
--
Gitblit v1.8.0