文件下载 ゝ一世哀愁。 2022-07-13 14:08 234阅读 0赞 对应文件上传的下载 1、javaweb方法实现: public String download(){ try { //获取文件ID String fileID = elecUser.getFileID(); //使用文件ID,查询用户文件列表,获取路径path ElecUserFile elecUserFile = this.elecUserService.findUserFileByID(fileID); String fileURL = elecUserFile.getFileURL();//相对路径 String path = ServletActionContext.getServletContext().getRealPath("")+fileURL; //获取文件名称 String filename = elecUserFile.getFileName(); //为防止中文乱码,重新编码 filename = new String(filename.getBytes("gbk"), "iso8859-1"); //填写下载文件的头部信息 // response.setContentType("application/vnd.ms-excel");//多种文件类型,不知道具体的类型,不用写,默认是所有类型 //setHeader必须写,第一个参数固定写法(内容的处理形式),处理形式有两种情况:(1)inline(内联)点击直接用浏览器打开;(2)附件,可以指定文件名 response.setHeader("Content-disposition", "attachment;filename="+filename); //使用路径path,查找到对应的文件,转换成InputStream InputStream in = new FileInputStream(new File(path)); //从响应对象response中获取输出流OutputStream OutputStream out = response.getOutputStream(); //读取输入流的数据到输出流中 // IOUtils.copy(in, out);//封装好的方法 //手动读写的方法 for(int b=-1;(b=in.read())!=-1;){ out.write(b); } out.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } return NONE; } 2、struts2下载方式实现: 2.1、struts-default.xml中的默认实现 ![Center][] 2.2、org.apache.struts2.dispatcher.StreamResult类中默认配置: ![Center 1][] 2.3、struts.xml文件中的配置 ![Center 2][] 2.4、action中方法实现: 注意: 1)需要将filename放入到request域,可以在struts.xml中通过$\{\#request.filename\}获取 2)不需要写OutputStream,但是需要将InputStream于对象关联,可以在struts.xml中通过<param name="inputName">inputStream</param>获取 /** * struts2方式实现文件下载 * @return */ public String download(){ try { //获取文件ID String fileID = elecUser.getFileID(); //使用文件ID,查询用户文件列表,获取路径path ElecUserFile elecUserFile = this.elecUserService.findUserFileByID(fileID); String fileURL = elecUserFile.getFileURL();//相对路径 String path = ServletActionContext.getServletContext().getRealPath("")+fileURL; //获取文件名称 String filename = elecUserFile.getFileName(); //为防止中文乱码,重新编码 filename = new String(filename.getBytes("gbk"), "iso8859-1"); request.setAttribute("filename", filename); //使用路径path,查找到对应的文件,转换成InputStream InputStream in = new FileInputStream(new File(path)); //与栈顶的InputStream关联 elecUser.setInputStream(in); } catch (Exception e) { e.printStackTrace(); } return "download"; } [Center]: /images/20220713/fc540c00e4d44d5eaea71184e986f3ef.png [Center 1]: /images/20220713/d972a69432a648a4b0f52f970136182b.png [Center 2]: /images/20220713/f718f9e038924cefba0c183d3f72ea7f.png
相关 文件下载 String filePath = wenjianService.getlujing(attachId); String fileName= wenjian 川长思鸟来/ 2022年08月23日 00:52/ 0 赞/ 30 阅读
相关 文件下载 下载图片或者文件有那么几种方法,下面详细总结。 1,js方法 function downloadFile(url){ var elemIF Bertha 。/ 2022年08月06日 15:29/ 0 赞/ 133 阅读
相关 文件下载 对应文件上传的下载 1、javaweb方法实现: public String download(){ try { //获取文件ID ゝ一世哀愁。/ 2022年07月13日 14:08/ 0 赞/ 235 阅读
相关 下载文件 //设置文件MIME类型 response.setContentType(getServletContext().getMimeType(f 浅浅的花香味﹌/ 2022年06月17日 05:44/ 0 赞/ 215 阅读
相关 文件下载 下载就是向客户端响应字节数据,原来响应的都是html的字符数据,现在 把一个文件变成字节数组,使用response.getOutputStream()来各应给浏览器! 下载 - 日理万妓/ 2022年06月10日 03:10/ 0 赞/ 161 阅读
相关 文件下载 导入jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 在jsp中添加超链接,设置要下载的文件 叁歲伎倆/ 2022年05月06日 10:44/ 0 赞/ 227 阅读
相关 文件下载 html 标签 点击自动下载 <button> <a href = "http://localhost/day.zip"> 布满荆棘的人生/ 2022年03月18日 13:56/ 0 赞/ 535 阅读
相关 下载文件 import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStre 骑猪看日落/ 2022年01月11日 02:57/ 0 赞/ 295 阅读
相关 文件下载 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 川长思鸟来/ 2021年12月15日 00:53/ 0 赞/ 357 阅读
还没有评论,来说两句吧...