package com.js.ai.modules.pointwall.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
*
* @ClassName: ApkUtils
* @Description: TODO 上传apk文件
* @author:
* @date:
*/ public class ApkUtils {
/**
*
* @Title: downloadCsv
* @Description: TODO 下载apk
* @param request
* @param response
* @param fileName
* @throws Exception * @return: void
*/
public static void download(HttpServletRequest request, HttpServletResponse response,String fileName ) throws Exception{ response.setContentType("text/html;charset=UTF-8");
BufferedInputStream in = null;
BufferedOutputStream out = null;
request.setCharacterEncoding("UTF-8");
String rootpath = request.getSession().getServletContext().getRealPath("/");
try {
File f = new File(rootpath + fileName);
response.setContentType("application/x-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
response.setHeader("Content-Length", String.valueOf(f.length()));
in = new BufferedInputStream(new FileInputStream(f));
out = new BufferedOutputStream(response.getOutputStream());
byte[] data = new byte[1024];
int len = 0;
while (-1 != (len = in.read(data, 0, data.length))) {
out.write(data, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
} public static void downloadImage(HttpServletRequest request, HttpServletResponse response,String fileName )throws Exception{
//读取本地图片输入流
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String rootpath = request.getSession().getServletContext().getRealPath("/");
FileInputStream inputStream = new FileInputStream(rootpath+fileName);
int len= inputStream.available();
//byte数组用于存放图片字节数据
byte[] buff = new byte[len];
inputStream.read(buff);
//记得关闭输入流
inputStream.close();
//设置发送到客户端的响应内容类型
response.setContentType("image/*");
OutputStream out = response.getOutputStream();
out.write(buff);
//关闭响应输出流
out.close();
}
}

  

最新文章

  1. ubuntu 编译源码坏境配置
  2. MySQL数据导出
  3. Android Dev Guides
  4. [改善Java代码]用枚举实现工厂方法模式更简洁
  5. C栈stack
  6. keyStore vs trustStore--转载
  7. 受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?
  8. CSS中的特殊性、继承、层叠
  9. checkbox批量操作
  10. beego: 获取request参数
  11. css 多行超长点点点
  12. Java IO流学习总结(1)
  13. Linux网络编程客户\服务器设计范式
  14. 如何解压 Mac OS X 下的 PKG 文件(网摘)
  15. OpenPop.NET
  16. C#中??和?分别是什么意思?
  17. 获取所有栈的信息,只有最上面的和最下面的,但是不能获取栈中间的activity信息
  18. C# 语法学习整理
  19. js手机滑块模仿
  20. 探索JavaScript中Null和Undefined的深渊

热门文章

  1. selenium学习笔记(selenium下载安装)
  2. laravel中Blade模板继承
  3. Java(Android)线程池妙用
  4. L125
  5. C++中关于标准输出流cout中使用递增运算符的问题
  6. 7.usr下重要目录和文件详解
  7. 4.CRT远程连接的使用
  8. pgrep 和 pkill 使用小记
  9. Oracle:Create, alter, drop and add!
  10. (十)java条件结构