摘要: ​ 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简 阅读全文
posted @ 2021-07-14 18:02 潜水的章鱼 阅读(59) 评论(0) 推荐(0) 编辑
摘要: ​ 核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员 阅读全文
posted @ 2021-07-14 16:54 潜水的章鱼 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = null; String fileAddre = "/numUp"; try { InputStre 阅读全文
posted @ 2021-07-14 15:58 潜水的章鱼 阅读(359) 评论(0) 推荐(0) 编辑
摘要: ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。 public c 阅读全文
posted @ 2021-07-14 15:25 潜水的章鱼 阅读(42) 评论(0) 推荐(0) 编辑
摘要: ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小限制,post没有) 2.表单的enctype属性:必须设置为multipart/form-da 阅读全文
posted @ 2021-07-14 14:08 潜水的章鱼 阅读(596) 评论(0) 推荐(0) 编辑
摘要: ​ 文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); this.root.put("f_id", ""); this.root.put("f_na 阅读全文
posted @ 2021-07-14 12:01 潜水的章鱼 阅读(42) 评论(0) 推荐(0) 编辑
摘要: ​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。 一开始以为是session过期或者文件大小受系统限制,导致的错误。 查看了系统的配置文件没有看到文件大小限制, web.xml中seesiontimeout是30,我把它改成了120。 但还是不行,有时候10分钟就崩了。 同事说 阅读全文
posted @ 2021-07-14 11:04 潜水的章鱼 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头中,指定 阅读全文
posted @ 2021-07-14 09:53 潜水的章鱼 阅读(82) 评论(0) 推荐(0) 编辑