From d25b0270e0bb9266ed92c7c74ee1cb8fb24aa51a Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 14 一月 2025 10:53:02 +0800 Subject: [PATCH] add input_number --- pms-parent/pms-web-file/src/main/java/com/dy/dyFile/download/DownloadFileCtrl.java | 99 +++++++++++++++++++++++++------------------------ 1 files changed, 50 insertions(+), 49 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..6d7e02a 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 @@ -1,6 +1,5 @@ package com.dy.dyFile.download; -import cn.hutool.http.server.HttpServerResponse; import com.dy.pmsGlobal.dyFile.FileOperate; import com.dy.pmsGlobal.dyFile.FileRestVo; import com.dy.pmsGlobal.pojoOth.OthFile; @@ -11,12 +10,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.File; import java.io.FileInputStream; +import java.net.URLEncoder; /** * web鏂囦欢涓嬭浇 @@ -44,65 +43,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