文件的上传,下载,多个文件生成压缩包,文件的删除
来源:互联网 发布:php基础知识视频 编辑:程序博客网 时间:2024/05/17 05:10
文件下载
String file_name=photo.getOriginalFilename();
//获取文件后缀名
String pre_file=FilenameUtils.getExtension(file_name);
//随机生成名字
String base_name=UUID.randomUUID().toString();
file_name=base_name+"."+pre_file;
if(!photo.isEmpty()){
photo.transferTo(new File("d:\\pingbao\\"+file_name));
}
/**
* 文件上传
*/
@RequestMapping("registerEmployee")
public String registerEmployee(String ename,String hiredate,MultipartFile photo,HttpServletRequest req) throws IllegalStateException, IOException{
//获取文件名public String registerEmployee(String ename,String hiredate,MultipartFile photo,HttpServletRequest req) throws IllegalStateException, IOException{
String file_name=photo.getOriginalFilename();
//获取文件后缀名
String pre_file=FilenameUtils.getExtension(file_name);
//随机生成名字
String base_name=UUID.randomUUID().toString();
file_name=base_name+"."+pre_file;
if(!photo.isEmpty()){
photo.transferTo(new File("d:\\pingbao\\"+file_name));
}
}
/**
* 生成下载文件
* filename为要下载的文件名
*/
public static void generateDownloadFile(String filename,HttpServletRequest request,HttpServletResponse response){
File file = new File(filename);
try {
InputStream ins = new FileInputStream(file);
BufferedInputStream bins = new BufferedInputStream(ins);
OutputStream outs = response.getOutputStream();
BufferedOutputStream bouts = new BufferedOutputStream(outs);
response.setContentType("application/x-download");
response.setHeader("Content-disposition","attachment;filename="+URLEncoder.encode(file.getName(), "UTF-8"));
int bytesRead = 0;
byte[] buffer = new byte[8192]; // 开始向网络传输文件流
while ((bytesRead =bins.read(buffer, 0, 8192)) != -1) {
bouts.write(buffer, 0, bytesRead);
}
bouts.flush();
ins.close();
bins.close();
bouts.close();
}catch (IOException e) {
e.printStackTrace();
}
}
多个文件打包
public static String multipleFilesToZip(String[] filename,String path){
// 随机生成名字
String base_name = UUID.randomUUID().toString();
String fileZip = base_name + ".zip"; // 拼接zip文件
String filepath = path+"\\" + fileZip;
File files[] = new File[filename.length];
for (int i = 0; i < filename.length; i++) {
files[i] = new File(filename[i]);
}
// 创建压缩文件
try {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filepath));
ZipOutputStream zos = new ZipOutputStream(bos);
ZipEntry ze = null;
for (int i = 0; i < files.length; i++) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(files[i]));
ze = new ZipEntry(files[i].getName());
zos.putNextEntry(ze);
int s = -1;
while ((s = bis.read()) != -1) {
zos.write(s);
}
bis.close();
}
zos.flush();
zos.close();
} catch (IOException e) {
e.printStackTrace();
}
return filepath;
}
文件删除(多文件)
/**
* 递归删除目录下的所有文件及子目录下所有文件
* @param dir 将要删除的文件目录
*/
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
//递归删除目录中的子目录下
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}
/**
* 生成下载文件
* filename为要下载的文件名
*/
0 0
- 文件的上传,下载,多个文件生成压缩包,文件的删除
- php 多文件下载 生成压缩包
- 批量下载多个文件,把它们压缩成压缩包的方式下载
- 使用PHP的ZipArchive类实现多个文件的zip压缩包打包下载
- 文件的-------上传,下载,删除.
- 文件的上传、下载与删除
- CFtpConnection上传、下载、删除文件的问题
- 文件的上传、下载及删除方法
- 多个文件压缩下载
- 多文件上传【下载、删除】
- 多个文件和文件夹生成压缩包
- thinkPHP压缩文件夹下的多个文件并下载
- 简单的Ext文件上传,文件下载和文件删除
- 文件上传、下载、删除
- 文件的上传 删除
- 检测压缩包,解压压缩包,删除压缩包,文件的备份和覆盖
- 下载上传的文件
- 文件的上传、下载
- Tools for Apache Cordova for VS2013 的跨平台开发
- NC轻量级二进制备注与字符串互转
- 安卓机顶盒开发中的焦点之二
- android Webview截图的常用方法与遇到的问题
- 08 Spring 操作持久层 (融合 Mybatis)最简使用(使用 Mybatis Generator)
- 文件的上传,下载,多个文件生成压缩包,文件的删除
- 51nod 1108 距离之和最小 V2【思维+求中位数】
- 多线程
- 番外 02: Spring 之使用 JAVA 操作Mysql数据库(为何要用ORM)Spring整合 Mybatis前基础
- 值得参考的 10 个 LESS CSS 实例
- Tomcat容器管理安全的几种验证方式
- 2016年前端技术观察
- 数据结构笔记之数据结构基本概述(二)
- DBSCAN聚类算法