栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaweb 实现文件下载的方法及实例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaweb 实现文件下载的方法及实例代码

javaweb 实现文件下载

不要再说用标签下载了,这个会把文件打开而不是下载

例如:

 下载

如果我这样写,浏览器就会把图片直接打开,除非是一个浏览器打不开的文件

所以我们还是要用到java本身的文件读写来进行文件的下载

">下载

package com.cpsec.tang.chemical.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Random;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Controller;
import com.cpsec.tang.chemical.biz.documentBiz;
import com.cpsec.tang.chemical.entity.document;
import com.cpsec.tang.chemical.util.Pager;
import com.opensymphony.xwork2.ActionSupport;

@Controller("documentAction")
public class documentAction extends ActionSupport{private String filename;
  public String downloadFile(){
    System.out.println(filename);
    try {
      HttpServletResponse response=ServletActionContext.getResponse();
      //设置文件MIME类型 
      response.setContentType(ServletActionContext.getServletContext().getMimeType(filename)); 
      //设置Content-Disposition 
      response.setHeader("Content-Disposition", "attachment;filename="+filename); 
      //获取目标文件的绝对路径 
      String fullFileName = ServletActionContext.getServletContext().getRealPath("/files/" + filename); 
      //System.out.println(fullFileName); 
      //读取文件 
      InputStream in = new FileInputStream(fullFileName); 
      //读取目标文件,通过response将目标文件写到客户端
      OutputStream out = response.getOutputStream(); 
      //写文件 
      int b; 
      while((b=in.read())!= -1) 
      { 
 out.write(b); 
      } 
      in.close(); 
      out.close(); 
    } catch (Exception e) {
      e.printStackTrace();
    }
    return SUCCESS;
  }
  
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/148617.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号