中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java開發(fā)之文件下載

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
    package com.example.web;  
      
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.io.OutputStream;  
    import java.net.URLEncoder;  
      
    import javax.servlet.ServletException;  
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
      
    import org.apache.commons.io.IOUtils;  
      
    public class Download extends HttpServlet {  
      
        public void doGet(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
            response.setContentType("text/html;charset=utf-8");  
            OutputStream out=response.getOutputStream();  
            //獲取要下載的文件名  
            String fileName=request.getParameter("loadname");  
            fileName=new String(fileName.getBytes("ISO-8859-1"),"UTF-8");  
            //得到下載文件的路徑  
            String storPath=getServletContext().getRealPath("WEB-INF/files");  
            //得到源文件名  
            String oldName=fileName.split("_")[1];  
            //進(jìn)一步根據(jù)hashcode來確定子文件夾  
            String childPath=generateDir(storPath,fileName);  
            //判斷要下載的文件是否還存在  
            File file=new File(storPath+File.separator+childPath+File.separator+fileName);  
            if(!file.exists()){  
                out.write("你要下載的資源可能不存在".getBytes());  
            }else{  
                //如果存在就進(jìn)行下載操作  
                InputStream is=new FileInputStream(file);  
                //指明下載的響應(yīng)頭  
                response.setHeader("Content-Disposition",   
                        "attachment;filename="+URLEncoder.encode(oldName,"UTF-8"));  
                IOUtils.copy(is, out);  
                is.close();  
            }  
        }  
        private String generateDir(String storePath, String fileName) {  
            int hashcode=fileName.hashCode();  
            int dir1=hashcode &  0xf;  
            int dir2=(hashcode & 0xf0)>>4;  
            String childPath=dir1+File.separator+dir2;  
            File file=new File(storePath,childPath);  
            if(!file.exists()){  
                file.mkdirs();  
            }  
            return childPath;  
        }  
        public void doPost(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
            this.doGet(request, response);  
      
        }  
      
    }  

標(biāo)簽: isp

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:通過JMail發(fā)送郵件例子

下一篇:java定期執(zhí)行一個方法