微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java客户端服务端上传接收文件实现详解

这篇文章主要介绍了Java客户端服务端上传接收文件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java客户端通过HTTP协议上传文件, 服务端处理客户端请求, multipartfile转File, 实现客户端上传文件的存储

Java环境: JDK1.8

开发环境: IDEA

SpringBoot: 2.2.0

Maven: 3.6.3

Java客户端通过HTTP协议上传文件

// 引入pom依赖, hutool相关文档, https://www.hutool.cn/docs/ cn.hutoolhutool-all5.3.7

HashMap paramMap = new HashMap(); //文件上传只需将参数中的键指定(认file),值设为文件对象即可,对于使用者来说,文件上传与普通表单提交并无区别 paramMap.put("file", FileUtil.file("C:\文件路径\文件名称")); String result = HttpUtil.post("服务端IP:端口", paramMap);

Java服务端接收请求并实现文件的存储

工具类

public class Utils { public static void saveFile( multipartfile filecontent){ OutputStream os = null; InputStream inputStream = null; String fileName = null; try { inputStream = filecontent.getInputStream(); fileName = filecontent.getoriginalFilename(); } catch (IOException e) { e.printstacktrace(); } try { String path = "C:\test\"; // 2、保存到临时文件 // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出文件流保存到本地文件 File tempFile = new File(path); if (!tempFile.exists()) { tempFile.mkdirs(); } os = new FileOutputStream(tempFile.getPath() + File.separator + fileName); // 开始读取 while ((len = inputStream.read(bs)) != -1) { os.write(bs, 0, len); } } catch (IOException e) { e.printstacktrace(); } catch (Exception e) { e.printstacktrace(); } finally { // 完毕,关闭所有链接 try { os.close(); inputStream.close(); } catch (IOException e) { e.printstacktrace(); } } } }

Controller类

@Controller public class FileController { @RequestMapping("/") @ResponseBody public String index(@RequestParam(value = "file", required = false) multipartfile file, HttpServletRequest request, HttpServletResponse response) throws IOException { Utils.saveFile(file); return "Success"; } }

注意:

文件较大时spring-boot 服务端报上传文件错误“spring.servlet.multipart.max-file-size”

可以修改配置文件: application.properties, 添加以下配置..大小自行修改...

spring.servlet.multipart.max-file-size=200MB

spring.servlet.multipart.max-request-size=200MB

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐