zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java 通过网络流转发文件到浏览器

2023-02-26 12:26:48 时间
public void downloadVideoById(HttpServletRequest request, HttpServletResponse response) throws Exception {         logger.info("下载请求start>>");         String fileName = request.getParameter("fileName");//文件名         String filePath = request.getParameter("filePath");//文件名         try {             if (StringUtil.isEmpty(fileName) || StringUtil.isEmpty(filePath)) {                 response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);                 response.setCharacterEncoding("UTF-8");                 response.setContentType("application/json;charset=UTF-8");                 response.getWriter().print("参数错误,请联系管理员!");                 response.flushBuffer();                 return;             }              URL pathUrl = new URL(filePath);             HttpURLConnection urlcon = (HttpURLConnection) pathUrl.openConnection();             if(urlcon.getResponseCode()>=400){                 response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);                 response.setCharacterEncoding("UTF-8");                 response.setContentType("application/json;charset=UTF-8");                 response.getWriter().print("文件不存在,请联系管理员!");                 response.flushBuffer();                 return;             }             //获取输入流对象(用于读文件) 网络流             InputStream inputStream = new URL(filePath).openStream();             //本地流文件             // FileInputStream fis = new FileInputStream(new File(filePath));             //动态设置响应类型,根据前台传递文件类型设置响应类型             response.setContentType("application/" + fileName.substring(fileName.lastIndexOf(".")+1));             //设置响应头,attachment表示以附件的形式下载,inline表示在线打开             response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8"));//下载时浏览器显示的名称             //获取输出流对象(用于写文件)             ServletOutputStream os = response.getOutputStream();             //下载文件,使用spring框架中的FileCopyUtils工具             FileCopyUtils.copy(inputStream, os);          } catch (Exception e) {             logger.error("下载失败 start >>",e);             response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);             response.setCharacterEncoding("UTF-8");             response.setContentType("application/json;charset=UTF-8");             response.getWriter().print("下载失败,请联系管理员!");             response.flushBuffer();         }       }

Java 通过网络流转发文件到浏览器


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:Java 通过网络流转发文件到浏览器

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)