调用接收端

  1. @ApiOperation(value = "文件请求展示方法")
  2. @RequestMapping(value = "/showFile", method = RequestMethod.GET)
  3. public void showFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
  4. //获取接口url
  5. String url = "http://127.0.0.1/a/b";
  6. //然后根据表名获取公司信息
  7. HttpPost httppost = new HttpPost(url);
  8. List<NameValuePair> params = new ArrayList<NameValuePair>();
  9.  
  10. params.add(new BasicNameValuePair("comName", "111111"));
  11. HttpResponse httpResponse = null;
  12. HttpEntity httpEntity = null;
  13. try {
  14. httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
  15. RequestConfig requestConfig = RequestConfig.custom()
  16. .setConnectTimeout(30000).setConnectionRequestTimeout(30000)
  17. .setSocketTimeout(30000).build();
  18. httppost.setConfig(requestConfig);
  19. HttpClient httpclient = HttpClients.custom().setRetryHandler(new DefaultHttpRequestRetryHandler()).build();
  20. httpResponse = httpclient.execute(httppost);
  21. }catch (Exception e1) {
  22. logger.error("----------------失败");
  23. }
  24. if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {// 请求正常
  25. try {
  26. httpEntity = httpResponse.getEntity();
  27. BufferedInputStream br = new BufferedInputStream(httpEntity.getContent());
  28. byte[] buf = new byte[1024];
  29. int len = 0;
  30. response.reset(); // 非常重要
  31. response.setContentType("application/pdf");
  32. String fileName ="report.pdf";
  33. try {
  34. fileName = httpResponse.getAllHeaders()[5].getValue().split(";")[1].split("=")[1];
  35. } catch (Exception e) {
  36. }
  37.  
  38. response.setHeader("Content-Disposition",
  39. "inline; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
  40.  
  41. OutputStream out = response.getOutputStream();
  42. while ((len = br.read(buf)) != -1)
  43. out.write(buf, 0, len);
  44. br.close();
  45. out.flush();
  46.  
  47. } catch (Exception e) {
  48. logger.error("解析失败");
  49. }
  50. }else {
  51. logger.error("调用失败");
  52. }
  53.  
  54. }

文件存储方

  1.    @ApiOperation(value = "文件支持接口")
  2. @RequestMapping(value = "/getReport", method = RequestMethod.GET)
  3. public Object getReport(HttpServletRequest request,HttpServletResponse response, ModelMap modelMap) {
  4. Map<String, Object> params = WebUtil.getParameterMap(request);
  5. String comName = (String) params.get("comName");
  6. File file = new File("C:\\Users\\Administrator\\Desktop\\滴滴电子发票.pdf");
  7.  
  8. try {
  9. response.setContentType("application/pdf");
  10. response.setHeader("Content-Disposition",
  11. "inline; filename=" + java.net.URLEncoder.encode(file.getName(), "UTF-8"));
  12. } catch (UnsupportedEncodingException e) {
  13. e.printStackTrace();
  14. }
  15.  
  16. try {
  17. ServletOutputStream pw = response.getOutputStream();
  18. BufferedInputStream br = new BufferedInputStream(new FileInputStream(file));
  19. byte[] by = new byte[(int) file.length()];
  20. while(br.read(by)!=-1){
  21. pw.write(by);
  22. }
  23. pw.flush();
  24. } catch (IOException e1) {
  25. e1.printStackTrace();
  26. }
  27.  
  28. return null;
  29. }

java 接口 文件传输的更多相关文章

  1. Java简单文件传输 socket简单文件传输示例

    服务器端代码: import java.io.*; import java.net.*; /** * Created with IntelliJ IDEA. * User: HYY * Date: 1 ...

  2. java实现文件传输

    在windows下装了个linux虚拟机,两者之间传输文件挺麻烦的.写了个简单的文件传输程序,来方便自己数据传送. server 端: import java.io.BufferedReader;im ...

  3. Java Tcp文件传输---转载

    /** 客户端 1.服务端点 2.读取客户端已有的文件数据 3.通过socket输出流发给服务端 4.读取服务端反馈信息 5.关闭 **/ import java.io.*; import java. ...

  4. java对于文件传输时---编码格式的一些设置方法

    - ----转 读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够 ...

  5. java文件传输接口

    开发的时候碰到这样的需求:需要在一个系统(客户端发送请求)中将文件传输至另外一个系统(服务端接收)中去的实现方式,可以批量传输文件,代码如下: 客户端请求: public String upLoadF ...

  6. java实现两台电脑间TCP协议文件传输

    记录下之前所做的客户端向服务端发送文件的小项目,总结下学习到的一些方法与思路. 注:本文参考自<黑马程序员>视频. 首先明确需求,在同一局域网下的机器人A想给喜欢了很久的机器人B发送情书, ...

  7. 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

    目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 ...

  8. Java基于Socket文件传输示例(转)

    最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解.在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加 ...

  9. java基于P2P的聊天和文件传输实例

    用java的NIO技术编写的 1. 支持聊天功能 2. 拖拽文件能够实现文件传输功能.也能够是目录 3. 启动时能够选择server端或client端启动 4. 本人原创.学习NIO和java的网络通 ...

随机推荐

  1. Python科学计算类库

    Numpy是什么 Numpy是一个开源的Python科学计算库.使用Numpy,就可以很自然地使用数组和矩阵.Numpy包含很多实用的数学函数,涵盖线性代数运算.傅里叶变换和随机数生成等功能. 矩阵: ...

  2. C#服务器端使用office组件

    http://www.myexception.cn/asp-dotnet/386522.html 不装office那就把Interop.Excel.dll Interop.Office.dll Int ...

  3. 2022GDUT寒训专题一J题

    题目 题面 给你一个长度为 n的整数序列{A1,A2,⋯,A**n},要求从中找出一段连续的长度不超过 m的非空子序列,使得这个序列的和最大. 输入格式 第一行为两个整数 n,m: 第二行为 n个用空 ...

  4. 一文读懂 HTTP/1HTTP/2HTTP/3

    转自 https://zhuanlan.zhihu.com/p/102561034

  5. WebGPU图形编程(4):构建一个彩色的正方形<学习引自徐博士教程>

    本节我们来复原一个彩色的正方形,前提告知,本节的shaders和main的代码从结构上有调整,我会更加详细的描述每行的代码意思: 源代码下载地址:https://github.com/jack1232 ...

  6. django-环境搭建-开使hello world!

    django的环境安装非常简单,只需用pip安装一个django库就可以了,编辑器选择pycharm pip install django==2.1.2 查看版本号:pip show django C ...

  7. lua之自索引

    Father={ a=100, b=200 } function Father:dis() print(self.a,self.b) end Father.__index=Father Son= { ...

  8. SQL查询字段,起别名,列参与数学运算

    13.简单查询 13.1.查询一个字段? select 字段名 from 表名: 其中要注意: select和from都是关键字 字段名和表名都是标识符. 强调: 对于SQL语句说,是通用的 所有的S ...

  9. React/Vue 项目在 GitHub Pages 上部署时资源的路径问题

    GitHub Pages 常被用来部署个人博客,而无论是大名鼎鼎的 Jekyll,还是 Hugo 或者 Hexo,他们都是将我们的文章嵌入模板,发布为静态页面,也就是说,GitHub Pages (G ...

  10. linux文件压缩与文件夹压缩(打包)

    目录 一:linux文件压缩 1.linux常见的压缩包有哪些? 2.bzip压缩(文件) 二:打包(文件夹压缩) 1.打包命令 2.参数 3.参数解析(实战) 4.注意事项 简介: win中的压缩包 ...