java 如何实现文件下载 需要区分图片 文件 还是视频吗?还是说不管什么类型的文件后台逻辑处理都是一样的,具体如何实现呢
4条回答 默认 最新
- 烽煙 2017-07-13 07:51关注
String filename = request.getParameter("path"); File file = new File(filename); BufferedInputStream is = new BufferedInputStream(new FileInputStream(file)); // 放到缓冲流里面 BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream()); // 获取文件输出IO流 response.setContentType("application/x-download"); // 设置response内容的类型 response.setHeader("Content-disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1")); // 设置头部信息 int bytesRead = 0; byte[] buffer = new byte[1024]; // 开始向网络传输文件流 while ((bytesRead = is.read(buffer, 0, 1024)) != -1) { bos.write(buffer, 0, bytesRead); } bos.flush(); // 这里一定要调用flush()方法 is.close(); bos.close(); 思路就是前台给链接地址,参数提交给后台,服务器根据参数获取文件,通过流进行传输。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子
- ¥15 vba使用jmail发送邮件正文里面怎么加图片
- ¥15 vb6.0如何向数据库中添加自动生成的字段数据。