• 文件下载转码处理类


    import org.apache.commons.codec.binary.Base64;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    
    //1.文件下载(postman可试)
    public static void postmanLoad(String url, HttpServletResponse response) throws Exception {
    
            File file = new File(url);
    
            byte [] bytes = File2byte(file);
            try {
    
                response.setHeader("Content-Disposition",
                        "attachment; filename="" + "123.jpg" + """);
                OutputStream out = response.getOutputStream();
                if (bytes != null) {
                    out.write(bytes);
                }
                out.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    /** * 将文件转换成byte数组 */ public static byte[] File2byte(File tradeFile){ byte[] buffer = null; try { FileInputStream fis = new FileInputStream(tradeFile); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte[10240]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); }catch (FileNotFoundException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } return buffer; }
    //2.从地址下载转成Base64编码 public static String downLoadFromUrlBase64(String urlStr) throws Exception { URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置超时间为10秒 conn.setConnectTimeout(10 * 1000); //得到输入流 InputStream inputStream = conn.getInputStream(); return DownLoadFileUtil.getBase64FromInputStream(inputStream); } /** * 将inputstream转为Base64 public static String getBase64FromInputStream(InputStream is) throws Exception { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 byte[] data = null; // 读取图片字节数组 try { ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] buff = new byte[100]; int rc = 0; while ((rc = is.read(buff, 0, 100)) > 0) { swapStream.write(buff, 0, rc); } data = swapStream.toByteArray(); } catch (IOException e) { e.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (IOException e) { throw new Exception("输入流关闭异常"); } } } return Base64.encodeBase64String(data); }
  • 相关阅读:
    Eclipse配置问题
    什么是SpringMvc
    【转载·】Linux yum 安装 gcc 、gcc-c++
    【转载】linux下安装wget命令(sftp实现法)
    [原创]关于javax.servlet.ServletException: File [/loginController/getVerifCode.jsp] not found异常 解决方案
    【转载】spring boot 链接 虚拟机(Linux) redis
    【转载】spring-boot 项目跳转到JSP页面
    [原创]Linux 下 redis 链接一次
    Linux 下安装 redis 详情
    [转载]CentOS 7虚拟机下设置固定IP详解
  • 原文地址:https://www.cnblogs.com/lifan12589/p/15108103.html
Copyright © 2020-2023  润新知