概述
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 文件下载工具类
*
*/
public class FileDownLoadUtil {
public static void downLoad(String fileName, String filePath, HttpServletRequest request,
HttpServletResponse response) throws Exception {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("UTF-8");
java.io.BufferedInputStream bis = null;
java.io.BufferedOutputStream bos = null;
String downloadPath = filePath + "/" + fileName;
File file = new File(downloadPath);
try {
long fileLength = file.length();
response.setContentType("application/x-msdownload;");
response.setHeader("Content-disposition", "attachment; filename="
+ new String(fileName.getBytes("utf-8"), "ISO8859-1"));
response.setHeader("Content-Length", String.valueOf(fileLength));
bis = new BufferedInputStream(new FileInputStream(downloadPath));
//bis = new BufferedInputStream(new ByteArrayInputStream("testtest".getBytes("UTF-8")));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (Exception e) {
throw new Exception(e);
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
file.delete();
}
}
}
/**
* 文件上传工具类
*
*
*/
public class FileUploadUtil {
/**
* 上传文件,返回
*
* @param request
* @return
* @throws IOException
* @throws IllegalStateException
*/
public static String upload(String uploadPath, HttpServletRequest request) throws Exception {
// 1、获取上传的文件
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartRequest.getFile("file");
String fileName = file.getOriginalFilename();
if(StringUtils.isEmpty(fileName)){
return null;
}
// 2、进行保存上传
String uploadRealPath = request.getSession().getServletContext().getRealPath(uploadPath);
File uploadFile = new File(uploadRealPath + "/" +fileName);
file.transferTo(uploadFile);
// 3、返回上传访问文件的路径
return "/" + uploadPath + "/" + fileName;
}
}
最后
以上就是复杂钢铁侠为你收集整理的Javaweb文件上传和下载工具类的全部内容,希望文章能够帮你解决Javaweb文件上传和下载工具类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复