摘要: ​ 文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦、缺乏交互、用户体验差。 一、前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用HTML5的API,对文件上传进行渐进式增强: * iframe上传 * ajax上传 * 进度 阅读全文
posted @ 2021-10-12 17:53 潜水的章鱼 阅读(317) 评论(0) 推荐(0) 编辑
摘要: ​ 核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员 阅读全文
posted @ 2021-10-12 17:05 潜水的章鱼 阅读(174) 评论(0) 推荐(0) 编辑
摘要: ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。 public c 阅读全文
posted @ 2021-10-12 16:07 潜水的章鱼 阅读(75) 评论(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-10-12 15:08 潜水的章鱼 阅读(56) 评论(0) 推荐(0) 编辑
摘要: ​ 需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify 阅读全文
posted @ 2021-10-12 14:06 潜水的章鱼 阅读(74) 评论(0) 推荐(0) 编辑
摘要: ​ 4GB以上超大文件上传和断点续传服务器的实现 随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。 但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在 阅读全文
posted @ 2021-10-12 12:03 潜水的章鱼 阅读(70) 评论(0) 推荐(0) 编辑
摘要: ​ 以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载。 准备文件上传的API #region 文件上传 可以带参数 [HttpPost("upload")] public JsonResult upl 阅读全文
posted @ 2021-10-12 10:49 潜水的章鱼 阅读(184) 评论(0) 推荐(0) 编辑
摘要: ​ 一、 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传; 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。 支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹 阅读全文
posted @ 2021-10-12 09:20 潜水的章鱼 阅读(24) 评论(0) 推荐(0) 编辑