java下载文件指定目录下的文件
方法一:
@RequestMapping('download')
def download(HttpServletRequest request, HttpServletResponse response) {
    TtxSession session = getSession(request)
    String fileName='OrderData--20190225.csv'
    String pathName="C:\\export\\OrderData--20190225.csv"
    downloadFile(response, fileName) { HttpServletResponse res ->
        byte[] bs = new File(pathName).toPath().readBytes()
        response.getOutputStream().write(bs)
    }
    return null
}
方法二
@RequestMapping('downloads')
def downloads(HttpServletRequest request, HttpServletResponse response) {
    String path="C:\\export\\OrderData--20190225.csv"
    // path是指欲下载的文件的路径。
    File file = new File(path)
    // 取得文件名。
    String filename = file.getName()
    // 取得文件的后缀名。
    String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase()
    // 以流的形式下载文件。
    InputStream fis = new BufferedInputStream(new FileInputStream(path))
    byte[] buffer = new byte[fis.available()]
    fis.read(buffer)
    fis.close()
    // 清空respons
    response.reset()
    // 设置response的Header
    response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()))
    response.addHeader("Content-Length", "" + file.length())
    OutputStream toClient = new BufferedOutputStream(response.getOutputStream())
    response.setContentType("application/octet-stream")
    toClient.write(buffer)
    toClient.flush()
    toClient.close()
    return null
}
    惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
一代天骄,成吉思汗,只识弯弓射大雕。
俱往矣,数风流人物,还看今朝
                    
                
                
            
        
浙公网安备 33010602011771号