简单文件上传 下载 线程处理
来源:互联网 发布:js 倒计时 编辑:程序博客网 时间:2024/06/03 22:27
1 文件上传
页面设置type="file" <input type="file" id="fileName" name="fileName"> 来控制上传文件。
2文件处理
controller 通过CommonsMultipartFile类来接收文件,文件在网络中以流的形式存在。
以csv文件为列,通过CommonsMultipartFile.getInputStream() 来获取 InputStream,
//把输入流转换成字节数组
byte[] byteArray = IOUtils.toByteArray(InputStream);
encodingIs = new ByteArrayInputStream(byteArray);
//获取输入流编码
String encoding = FileUtil.getCharset(encodingIs);
biUpload = new ByteArrayInputStream(byteArray);
//通过LineIterator 来一行一行的读文件
LineIterator it = IOUtils.lineIterator(biUpload, encoding);
while (it.hasNext()) {
//获取一行的string
String ss=it.nextLine();
//转成String数组
String[] values = str.split(",");
//这里可以进行数据的处理了,也可以进行异步处理,发起线程,需要多线程处理 可以使用线程池
ansy(values );
}
private void ansy(values ){
new Thread(new Runnable() {
@Override
public void run() {
//数据处理
}
},"线程名称").start();
}
3文件下载
filename = URLEncoder.encode(filename, "UTF-8");
//设置客户端的响应内容
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//设置HTTP消息头
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
InputStream is = null;
OutputStream out = null;
//找到文件 获取输入流 copy给输出流
IOUtils.copy(input, out);
response.setStatus(HttpServletResponse.SC_OK);
response.flushBuffer();
- 简单文件上传 下载 线程处理
- PHP 简单处理--文件下载--文件上传
- 文件上传 简单处理
- 上传文件的处理细节、文件下载
- springmvc 处理json,上传文件,下载文件
- C# 断点续传 上传、下载文件处理
- C# 断点续传 上传、下载文件处理
- C# 断点续传 上传、下载文件处理
- 文件处理工具(上传和下载)
- C# 断点续传 上传、下载文件处理
- java 文件上传和下载处理
- Struts2上传与下载文件 简单例子
- struts文件上传与下载简单DEMO
- Android简单的文件下载与上传
- 文件上传及下载处理 及 文件名称乱码处理
- 简单的Ext文件上传,文件下载和文件删除
- 上传文件 | 下载文件
- SpringMVC配置,简单实例,文件上传与下载,ajax请求
- STM8S_002_TIM精确延时(阻塞式)
- 用Python实现单链表的头插法与尾插法
- MySQL 慢查询设置
- react生命周期学习
- 数据库视图的作用
- 简单文件上传 下载 线程处理
- 局域网下大文件互传
- 跳个“一切从头开始”的槽,还来得及吗
- ACM文件测试数据及文件操作
- .bat 批处理脚本
- Prime Path (广搜(水))
- App端与服务器之间的安全策略
- 关于MySQL数据库的存储过程
- mycat1.6使用案例----load data file使用示例(ER分片字表数据导入)