<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    一個文件下載的Servlet

    把文件目錄直接暴露給用戶是很不安全的。所以要用Servlet來做,而且這樣做,文件的存儲方式就更豐富了,可以是從文件系統上取來的,也可以是數據庫中經過計算生成的,或者從其它什么稀奇古怪的地方取來的。

    public class DownloadServlet extends HttpServlet {
        
    private String contentType = "application/x-msdownload";
        
    private String enc = "utf-8";
        
    private String fileRoot = "";


        
    /**
         * 初始化contentType,enc,fileRoot
         
    */
        
    public void init(ServletConfig config) throws ServletException {
            String tempStr 
    = config.getInitParameter("contentType");
            
    if (tempStr != null && !tempStr.equals("")) {
                contentType 
    = tempStr;
            }
            tempStr 
    = config.getInitParameter("enc");
            
    if (tempStr != null && !tempStr.equals("")) {
                enc 
    = tempStr;
            }
            tempStr 
    = config.getInitParameter("fileRoot");
            
    if (tempStr != null && !tempStr.equals("")) {
                fileRoot 
    = tempStr;
            }
        }

        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String filepath 
    = request.getParameter("filepath");
            String fullFilePath 
    = fileRoot + filepath;
            
    /*讀取文件*/
            File file 
    = new File(fullFilePath);
            
    /*如果文件存在*/
            
    if (file.exists()) {
                String filename 
    = URLEncoder.encode(file.getName(), enc);
                response.reset();
                response.setContentType(contentType);
                response.addHeader(
    "Content-Disposition""attachment; filename=\"" + filename + "\"");
                
    int fileLength = (int) file.length();
                response.setContentLength(fileLength);
                
    /*如果文件長度大于0*/
                
    if (fileLength != 0) {
                    
    /*創建輸入流*/
                    InputStream inStream 
    = new FileInputStream(file);
                    
    byte[] buf = new byte[4096];
                    
    /*創建輸出流*/
                    ServletOutputStream servletOS 
    = response.getOutputStream();
                    
    int readLength;
                    
    while (((readLength = inStream.read(buf)) != -1)) {
                        servletOS.write(buf, 
    0, readLength);
                    }
                    inStream.close();
                    servletOS.flush();
                    servletOS.close();
                }
            }
        }

    web.xml
        <servlet>
            
    <servlet-name>downloadservlet-name>
            
    <servlet-class>org.mstar.servlet.DownloadServletservlet-class>
            
    <init-param>
                
    <param-name>fileRootparam-name>
                
    <param-value>d:/tempparam-value>
            
    init-param>
            
    <init-param>
                
    <param-name>contentTypeparam-name>
                
    <param-value>application/x-msdownloadparam-value>
            
    init-param>
            
    <init-param>
                
    <param-name>encparam-name>
                
    <param-value>utf-8param-value>
            
    init-param>
        
    servlet>
        
    <servlet-mapping>
            
    <servlet-name>downloadservlet-name>
            
    <url-pattern>/downurl-pattern>
        
    servlet-mapping>

    posted on 2007-11-07 14:33 都市淘沙者 閱讀(433) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    主站蜘蛛池模板: 亚洲日韩一中文字暮| 亚洲熟伦熟女新五十路熟妇| 亚洲精品白浆高清久久久久久| 无套内谢孕妇毛片免费看看| 四虎影视在线永久免费观看| 国产亚洲精品成人久久网站| 亚洲国产成人精品无码久久久久久综合| 国产精品手机在线亚洲| 四虎影视在线永久免费看黄| 污视频网站免费在线观看| 亚洲乱码日产精品a级毛片久久| 一级毛片成人免费看a| 亚洲欧洲∨国产一区二区三区| 久久久久久av无码免费看大片| 国产成A人亚洲精V品无码性色| 色欲色香天天天综合网站免费| 亚洲熟妇色自偷自拍另类| 女人被弄到高潮的免费视频| 爱爱帝国亚洲一区二区三区| 亚洲国产精品视频| 久久99毛片免费观看不卡| 亚洲免费在线视频播放| 国产特级淫片免费看| 9久热精品免费观看视频| 久久亚洲日韩精品一区二区三区| 亚洲综合免费视频| 美景之屋4在线未删减免费| 国产av无码专区亚洲av果冻传媒| 无码一区二区三区免费| 亚洲综合色婷婷在线观看| 亚洲精品国产福利一二区| 免费观看成人久久网免费观看| 亚洲国产成人资源在线软件| 免费一级特黄特色大片在线观看| 鲁丝片一区二区三区免费| 亚洲成人激情小说| 久久精品国产亚洲麻豆| 国内免费高清在线观看| 黄色网址免费在线观看| 在线亚洲午夜片AV大片| 亚洲综合av永久无码精品一区二区|