当前位置: 首页 > news >正文

如何在.NET WebForm中实现网页端大文件的分片断点续传?

2023年XX月XX日 🌟 | 一个菜鸟程序员的“秃头”日记


💻 今日份的崩溃与突破

早上8点:对着镜子默念三遍——“我能搞定10G文件上传!”(然后发现IE8连console.log都报错…)

上午10点:试图用WebUploader征服IE8,结果它用古老的ActiveX对我发起灵魂拷问。💔 于是怒写300行polyfill,现在我的代码像极了缝合怪。

下午3点:测试文件夹上传时,惊喜地发现龙芯浏览器把``读成了“未定义外星语”… 果断祭出递归遍历File API的祖传秘方!


🚀 技术宅的快乐(代码片段)

前端:Vue3里混搭原生JS的骚操作
// 文件切片加密(附赠中二注释版)functionsliceAndEncrypt(file,key='我爱山东大馒头'){constchunkSize=5*1024*1024;// 5MB一片,吃多了怕噎着letchunks=[];for(leti=0;i<file.size;i+=chunkSize){constchunk=file.slice(i,i+chunkSize);constencryptedChunk=XOREncrypt(chunk,key);// 自制加密(别问,问就是Base64改)chunks.push({index:i,hash:md5(`chunk_${i}_${file.name}_${Date.now()}`),// 给切片起个霸气的名字data:encryptedChunk});}returnchunks;}// IE8专属感动代码if(navigator.userAgent.indexOf('MSIE 8')>-1){document.write('<\/script>');console.log("尊敬的IE8用户,您正在体验考古级编程...");}
后端PHP:接收切片时顺便讲个段子
<?php// 文件合并接口(带防呆设计)functionmergeFiles($fileName,$totalChunks){$outputPath="/uploads/merge_".$fileName;for($i=0;$i<$totalChunks;$i++){$chunkPath="/uploads/chunk_".$i."_".$fileName;if(!file_exists($chunkPath)){die(json_encode(["error"=>"第{$i}片丢了!是不是被猫吃了?"]));}file_put_contents($outputPath,file_get_contents($chunkPath),FILE_APPEND);}return["success"=>true,"path"=>$outputPath];}?>

📢 求援与求职的呐喊

  1. 技术求救:哪位大佬能救救我的国产浏览器适配?QQ群374992201,请备注“文件上传拯救者”!
  2. 求职广告:本人擅长:
    • 用console.log调试IE8(被迫技能)
    • 在Vue里写jQuery风格代码(老板说这叫全栈)
    • 用表情包注释代码(提高团队士气)
      求山东或远程开发岗!

🌝 明日计划

  • 让断点续传支持“半夜断电续传”功能(localStorage + IndexDB双备份)
  • 给加密算法起个霸气的名字(比如“山东大葱加密法”)
  • 祈祷答辩时老师的电脑别装IE8

PS:欢迎推荐工作,薪资要求——够买防脱发洗发水就行! 😭

(代码仅供娱乐,实际开发记得删掉中二注释哦~)

设置框架

安装.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

创建数据库

配置数据库连接信息

检查数据库配置

访问页面进行测试


相关参考:
文件保存位置,

效果预览

文件上传

文件刷新续传

支持离线保存文件进度,在关闭浏览器,刷新浏览器后进行不丢失,仍然能够继续上传

文件夹上传

支持上传文件夹并保留层级结构,同样支持进度信息离线保存,刷新页面,关闭页面,重启系统不丢失上传进度。

批量下载

支持文件批量下载

下载续传

文件下载支持离线保存进度信息,刷新页面,关闭页面,重启系统均不会丢失进度信息。

文件夹下载

支持下载文件夹,并保留层级结构,不打包,不占用服务器资源。

下载完整示例

下载完整示例

http://www.jsqmd.com/news/366666/

相关文章:

  • 当代码门禁遇上大模型,测试效率的革命性跃迁
  • 综述不会写?AI论文软件 千笔写作工具 VS WPS AI,本科生专属神器!
  • 2026年地坪生产厂家最新推荐排行榜:聚焦国内优质厂商,助力选购高性价比金刚砂/环氧/混凝土/球场用地坪 - 深度智识库
  • DiffPure技术机制与测试工具链整合方案
  • 新手也能上手 9个一键生成论文工具测评:自考毕业论文+格式规范全攻略
  • 2026年主流GEO服务商深度评测:技术代差之下,企业如何选择? - 品牌策略主理人
  • 2026 南宁英语雅思培训教育机构推荐、雅思培训课程中心权威口碑榜单 - 苏木2025
  • 双引擎驱动:测试资产复用的技术革命与落地实践
  • 进阶篇:从手写深拷贝到 std::string 与移动语义(Rule of Five)
  • ‌协议安全审计:NLP解析SSL/TLS握手漏洞的自动化扫描器‌
  • 贵州工业地坪解决方案指南 固化剂/环氧/金刚砂地坪优选 贵州惠博特专属定制 - 深度智识库
  • LoRa智能网关在智慧城市市政设施监控中的功能作用
  • 2026精选10家高清壁纸素材网站推荐,商用正版适配电商、设计全场景 - 品牌2026
  • 轻量级GAN在MEC资源争用测试中的技术突破与行业实践
  • 2026四川抗裂砂浆厂家哪家好,腻子粉、找平石膏、瓷砖胶、自流平一站式解析 - 深度智识库
  • 百万级流量下的数据库突围:分库分表从原理到实战全解析
  • Mac 和 Windows 都能用!这款神器让水印添加快到飞起
  • 贵州工业地坪施工指南:专业固化剂地坪、金刚砂地坪一站式服务商推荐 - 深度智识库
  • day82(2.10)——leetcode面试经典150
  • 实测才敢推 8个降AIGC工具:继续教育降AI率全维度测评
  • AI 对话也要看广告?OpenAI 正式测试 ChatGPT 广告系统
  • WebP 转 JPG 在线工具怎么选?几款实用网站对比推荐
  • 2026 南昌英语雅思培训教育机构推荐|雅思培训课程中心权威口碑榜单 - 老周说教育
  • 免费好用!2026AI 论文工具排行榜,新手直接抄作业
  • R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表 - 教程
  • 成都、天津、大连、珠海:养老工作分析 by Claude Opus 4.6
  • OpenCSG(开放传神)赋能软件研发:某金融软件公司用AI Coding把研发效率提升40%
  • 2026 AI论文工具黑马榜!实测后,真正好用的都在这
  • 贵州工业地坪一站式解决方案指南,专业服务看贵州惠博特装饰材料有限公司 - 深度智识库
  • 尺寸智能管理:制造业质量变革的隐性引擎