spring mvc 文件下载使用方法:
public String fileDownload(HttpServletRequest arg0, HttpServletResponse response) { String filename = ""; String fileurl = ""; String id = arg0.getParameter("db_id"); DBBackup bdbackupinf = dbbackupService.loadById(id); if (bdbackupinf != null) { filename = bdbackupinf.getDb_bskcupName(); fileurl = bdbackupinf.getDb_bskcpuUrl(); response.setCharacterEncoding("utf-8"); response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", "attachment;fileName=" + filename); try { // String path = Thread.currentThread().getContextClassLoader() // .getResource("").getPath() // + "download";//这个download目录为啥建立在classes下的 InputStream inputStream = new FileInputStream(new File(fileurl)); OutputStream os = response.getOutputStream(); byte[] b = new byte[2048]; int length; while ((length = inputStream.read(b)) > 0) { os.write(b, 0, length); } // 这里主要关闭。 os.close(); inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // 返回值要注意,要不然就出现下面这句错误! // java+getOutputStream() has already been called for this response return null; }