大文件上传服务器,BigFileUploadDemo

BigFileUploadDemo

介绍

本方案提供两种大文件上传场景案例

1.网页端上传

2.客户端上传

特色:该方案支持文件验证,断点续传,提供dotnet core和dotnet framework两种环境demo

不足:上传较大文件时验证时长较长

新增功能 & Bug修复

2021-1-27

1.新增word和excel文件转pdf(感觉这个文件上传好像可以扩展出好多东西来,有要做成一个小工具包的趋势)

注意:因为引用了第三方的组件,该组件为非开源组件,故本例不上传该组件,需用户自行引用,组件名称在代码中可以看到

2021-1-26

1.新增跨域配置,.net core版本和.net framework均添加,其中.net core配置了白名单和完全公开两种跨域方式.net framework需引入system.web.http.cors命名空间,对应的包放在了#include里

2.新增tinyMCE富文本编辑器演示,可借助原来写的接口直接完成在编辑器内上传图片和文件,tinyMCE中文文档:http://tinymce.ax-z.cn/

3.新增tinyMCE插件图片批量上传

4.新增获取,设定富文本内容操作

2021-1-25

1.增加.net framework环境下的网页上传demo

2021-1-24

1.dotnet core项目,支持网页端上传

2.增加客户端上传方式

3.支持断点续传,文件验证

4.引入fcup等第三方前端插件,丰富页面功能和展示

注意事项

1.本demo使用的开发组件和页面插件为非必须,仅为本demo方便演示使用,非核心组件

比较重要的插件是fcup.js,仓库地址:https://gitee.com/lovefc/fcup2.git

2.fcup.js集成了SparkMD5工具包,之所以在上传前验证文件MD5值,主要是在后台做区分,其实也可以不验证,在后台可以直接使用文件名

但这样就不够严谨,用md5的好处就是,同一个文件,比如只是简单修改了一个标点符号,最后生成的md5值也是不一样的,但是如果只是

修改文件名或者后缀,md5值是不变的,文件签名算法只针对内容做验证,修改文件属性是不会修改文件md5值的。

可参考这篇文章:《百度云是如何识别出 A 片的? - 网络安全 - 知乎》地址是:https://www.zhihu.com/question/27652950

3.如果我们有自己的文件判定逻辑,那可以不做md5验证,毕竟超过200M的文件,在前端做md5校验还是比较费时间的

4.本例均已配置好跨域选项。

注意客户端网站支持跨域本身是有风险的,如有需要,则需要增加验证环节,比如增加一个校验参数该校验参数一定要在后台生成,且需要包含时间戳内容,解密后可据此来设定参数的有效期。

5.精力有限,framework版本近期仍会持续维护,但更新时间可能会比.net core版本稍晚。

软件架构

软件架构说明

开发框架:dotnetcore 3.1,dotnetframework 4.6.2

网页框架:bootstrap(非必须)

页面插件:fcup.js,jquery.toast.js(非必须)

开发组件:restsharp,stackexchange.redis(非必须)

使用说明

网页端:运行BigFileUploadDemo即可在网页进行上传大文件操作

客户端:先运行BigFileUploadDemo作为服务端,在运行ClientUploader,编写好输入参数即可。输入参数为要上传的文件路径;

使用时可修改此代码,比如可以把单文件上传改成支持批量上传的模式,也可以编写调用批处理程序(bat文件)输入文件路径做自动化处理

参与贡献

Fork 本仓库

新建 Feat_xxx 分支

提交代码

新建 Pull Request

写在最后

如果您觉得该方案对您有帮助,请手下留星!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值