zoukankan      html  css  js  c++  java
  • 字符串转输出流下载代码

    @GetMapping("/rollback/content/download")
        public void downloadRollbackContent(@RequestParam("sqlId") Integer sqlId,
                                            @RequestParam("taskId") Integer taskId,
                                                        HttpServletResponse response){
            // 注意这里一定要用StringBuilder包装一下String,不然下载不下来,不知为何
            StringBuilder sb = new StringBuilder("sssssssss");
            InputStream is = null;
            String fileName = System.currentTimeMillis() + "" + taskId + "" + sqlId + ".sql";
    
            //使用流的形式下载文件
            try {
                //加载文件
                is = new BufferedInputStream(new ByteArrayInputStream(sb.toString().getBytes("utf-8")));;
                response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
                response.addHeader("Content-Length", "" +sb.toString().length());
                response.setContentType("application/octet-stream");
                response.setContentLengthLong(sb.toString().length());
                BufferedOutputStream outStream = new BufferedOutputStream(response.getOutputStream());
                byte[] buffer = new byte[1024];
                int bytesRead = 0;
                while ((bytesRead = is.read(buffer)) != -1) {
                    outStream.write(buffer, 0, bytesRead);
                }
                outStream.flush();
            } catch (Exception e) {
                log.error("获取附件失败", e);
                throw new BusinessException(e.getMessage());
            }finally {
                try {
                    if (null != is) {
                        is.close();
                    }
                } catch (IOException ioEx) {
                    log.error("", ioEx);
                }
    
            }
        }
  • 相关阅读:
    iOS开发之--将 "中文" 转化成 "拼音"
    iOS swift语言
    手势识别
    学习git
    iOS开发如何在外面拿到一个子控件的frame ????
    协议和代理的理解及使用
    iOS开发之----生成二维码
    组合数C(n,m)的四种求解方法
    求一个数的正数因子(模板)
    图论五:网络流
  • 原文地址:https://www.cnblogs.com/guoAIrong/p/12938775.html
Copyright © 2011-2022 走看看