程序员的知识教程库

网站首页 > 教程分享 正文

asp.net实现文件夹的上传和下载(asp.net mvc 上传文件)

henian88 2024-08-15 04:59:55 教程分享 22 ℃ 0 评论

asp.net实现文件夹的上传和下载,asp.net实现文件夹的上传和下载解决方案,asp.net实现文件夹的上传和下载思路,asp.net实现文件夹的上传和下载源码,asp.net实现文件夹的上传和下载实例,asp.net实现文件夹的批量上传和下载,asp.net实现大文件上传和下载,asp.net实现大文件分块上传和下载,asp.net实现大文件加密上传和下载,asp.net实现大文件分片上传和下载,


后端用了asp.net,c#.net,csharp,.net core,.net mvc。客户需求是需要在前端,WEB页面中实现文件夹的上传和下载功能,前端用了WebForm,vue2,vue3,html5,客户是政府单位,经常要传文件夹。

网上搜了一圈,几乎全部都是用HTML5来实现的,找了一些文章看了一下,几乎全部都只提到了上传的实现,借助于HTML5的API,也就是chrome提供的一个特殊的API,几乎全部都没提到下载,下载基本上的方案也都是打包,但是我们这边的情况有点特殊,用户传的文件夹也不小,一般都有几百几千个文件吧,文件有大有小,有的是1G,有的是10G,这样的话,文件夹一共就有50G左右了

在服务器上打包的话,首先慢,其实占服务器资源,主要是占存储空间,而且垃圾清理机制做的不好的话,服务器硬盘空间很快就满了。所以要求不能以打包的方式下载。

然后就是用户下载的体验不是特别好,下载的话,一次性下载不完,需要支持断点续传,用户下载一部分后要下班了,明天需要继续下载。这些都是痛点,HTML5和chrome提供的这个特殊的API还是不太能够满足用户的需求。还是需要进行定制开发。

断点续传,就是在文件上传的过程中发生了中断,人为因素(暂停)或者不可抗力(断网或者网络差)导致了文件上传到一半失败了。然后在环境恢复的时候,重新上传该文件,而不至于是从新开始上传的。

断点续传的功能是基于分块上传来实现的,把一个大文件分成很多个小块,服务端能够把每个上传成功的分块都落地下来,客户端在上传文件开始时调用接口快速验证,条件选择跳过某个分块。

实现原理,就是在每个文件上传前,就获取到文件MD5取值,在上传文件前调用接口,如果获取的文件状态是未完成,则返回所有的还没上传的分块的编号,然后前端进行条件筛算出哪些没上传的分块,然后进行上传。

当接收到文件块后就可以直接写入到服务器的文件中。


最新版本:6.5.40

在线代码:https://gitee.com/xproer/up6-asp-net/tree/6.5.40/

安装.NET Framework 4.7.2

https://dotnet.microsoft.com/en-us/download/dotnet-framework/net472


框架选择4.7.2




添加3rd引用



编译项目


NOSQL



NOSQL无需任何配置可直接访问页面进行测试

SQL

使用IIS

大文件上传测试推荐使用IIS以获取更高性能。

使用IIS Express

小文件上传测试可以使用IIS Express

创建数据库

配置数据库连接信息


检查数据库配置



访问页面进行测试


相关参考:

文件保存位置,


源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl


OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授权生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表