包装制品东莞网站建设网站开发中数据库的功能

张小明 2026/3/12 15:31:43
包装制品东莞网站建设,网站开发中数据库的功能,wordpress电影站,做响应式网站设计师如何布局呢大文件传输系统建设方案#xff08;ASP.NET技术栈#xff09; 一、项目背景与核心需求 作为公司项目负责人#xff0c;针对产品部门提出的100G级大文件传输需求#xff0c;需构建一套高兼容性、高稳定性、全浏览器支持的解决方案。核心需求如下#xff1a; 功能需求ASP.NET技术栈一、项目背景与核心需求作为公司项目负责人针对产品部门提出的100G级大文件传输需求需构建一套高兼容性、高稳定性、全浏览器支持的解决方案。核心需求如下功能需求单文件100G传输支持文件夹层级结构保留断点续传浏览器刷新/关闭后进度不丢失非打包下载支持10万文件并发下载加密传输SM4/AES可配置与自动解密下载技术栈兼容性后端ASP.NET WebForm现有系统 .NET Core新项目前端Vue2/Vue3/React微前端集成数据库SQL Server主 MySQL/Oracle可配置部署阿里云ECS内网/公网双模式商务约束年授权预算≤20万不限项目数量供应商需提供5个国企合作证明材料二、技术架构设计1.分层架构┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ 浏览器端 │ │ 应用服务器 │ │ 存储层 │ │ (IE8/Vue2) │←──→│ (ASP.NET/.NET)│←──→│ (阿里云OSS) │ └───────────────┘ └───────────────┘ └───────────────┘ ↑ ↑ ↑ │ 分片传输组件 │ 加密控制模块 │ 对象存储适配器 │ │ 进度持久化 │ 算法切换服务 │ 多云存储路由 │ │ 文件夹解析器 │ 流量控制中间件 │ │2.关键技术选型分片传输现代浏览器Web Workers Fetch APIIE8XMLHttpRequest Flash插件通过Flex SDK编译进度持久化现代浏览器localStorage IndexedDBIE8UserData对象通过ActiveXObject加密方案传输层TLS 1.2 SM4-CBC国密SSL证书存储层AES-256-GCM.NET System.Security.Cryptography三、核心功能实现1.文件夹层级传输非打包方案前端实现Vue2兼容方案// 文件夹解析器兼容IE8classFolderParser{constructor(fileInputId){this.fileInputdocument.getElementById(fileInputId);this.fileTree[];}asyncparse(){if(window.Filewindow.FileReaderwindow.FileListwindow.Blob){// 现代浏览器APIconstfilesthis.fileInput.files;this.fileTreethis.buildModernTree(files);}else{// IE8兼容方案通过Flash上传组件this.fileTreeawaitthis.parseWithFlash();}returnthis.fileTree;}buildModernTree(files,path){consttree[];for(leti0;ifiles.length;i){constfilefiles[i];constfullPathpath?${path}/${file.webkitRelativePath}:file.name;if(file.webkitRelativePath){// 处理文件夹结构constpartsfile.webkitRelativePath.split(/);letcurrentLeveltree;for(letj0;jparts.length-1;j){constdirNameparts[j];letexistingDircurrentLevel.find(itemitem.typedirectoryitem.namedirName);if(!existingDir){existingDir{type:directory,name:dirName,children:[]};currentLevel.push(existingDir);}currentLevelexistingDir.children;}currentLevel.push({type:file,name:parts[parts.length-1],size:file.size,relativePath:file.webkitRelativePath});}else{tree.push({type:file,name:file.name,size:file.size});}}returntree;}}ASP.NET WebForm后端处理// 文件分片接收接口.NET Framework 4.8[WebMethod]publicstaticstringUploadChunk(stringfileId,intchunkIndex,stringchunkData){stringtempPathHttpContext.Current.Server.MapPath($~/TempUploads/{fileId});if(!Directory.Exists(tempPath)){Directory.CreateDirectory(tempPath);}// 解码Base64分片数据byte[]chunkBytesConvert.FromBase64String(chunkData);// 保存分片到临时文件stringchunkPath${tempPath}/chunk_{chunkIndex}.dat;File.WriteAllBytes(chunkPath,chunkBytes);// 更新Redis进度记录使用StackExchange.RedisIDatabaseredisConnectionMultiplexer.Connect(localhost).GetDatabase();redis.SetAdd($upload:{fileId},chunkIndex.ToString());returnJsonConvert.SerializeObject(new{statussuccess,receivedChunksredis.SetLength($upload:{fileId})});}2.断点续传持久化IE8兼容方案// ASP.NET处理IE8进度持久化[WebMethod]publicstaticstringSaveProgressIE8(stringfileId,stringprogressData){try{// 使用ASP.NET Session存储需在web.config中配置sessionState模式为InProcHttpContext.Current.Session[$progress_{fileId}]progressData;// 降级方案写入数据库SQL Serverusing(SqlConnectionconnnewSqlConnection(ConfigurationManager.ConnectionStrings[Default].ConnectionString)){conn.Open();SqlCommandcmdnewSqlCommand(INSERT INTO UploadProgress (FileId, ProgressData, LastUpdate) VALUES (fileId, progressData, GETDATE()) ON DUPLICATE KEY UPDATE ProgressDataprogressData, LastUpdateGETDATE(),conn);cmd.Parameters.AddWithValue(fileId,fileId);cmd.Parameters.AddWithValue(progressData,progressData);cmd.ExecuteNonQuery();}returnsuccess;}catch(Exceptionex){return$error:{ex.Message};}}3.加密传输与存储.NET Core加密服务实现// SM4加密服务需引入BouncyCastlepublicclassSm4EncryptionService{privatereadonlybyte[]_key;publicSm4EncryptionService(byte[]key){_keykey??thrownewArgumentNullException(nameof(key));}publicbyte[]Encrypt(byte[]plaintext){varenginenewSM4Engine();varblockCiphernewCbcBlockCipher(engine);varparametersnewParametersWithIV(newKeyParameter(_key),newbyte[16]);// IVblockCipher.Init(true,parameters);byte[]outputnewbyte[blockCipher.GetOutputSize(plaintext.Length)];intlengthblockCipher.ProcessBytes(plaintext,0,plaintext.Length,output,0);lengthblockCipher.DoFinal(output,length);Array.Resize(refoutput,length);returnoutput;}// 阿里云OSS上传前加密publicasyncTaskUploadToOssAsync(stringbucketName,stringobjectKey,FileStreamfileStream){varossClientnewOssClient(endpoint,accessKeyId,accessKeySecret);using(varmemoryStreamnewMemoryStream()){awaitfileStream.CopyToAsync(memoryStream);byte[]encryptedEncrypt(memoryStream.ToArray());varrequestnewPutObjectRequest(bucketName,objectKey,newMemoryStream(encrypted)){MetadatanewObjectMetadata{UserMetadatanewDictionary{[x-oss-meta-algorithm]SM4,[x-oss-meta-original-size]fileStream.Length.ToString()}}};ossClient.PutObject(request);}}}四、兼容性保障方案1.浏览器兼容矩阵浏览器核心方案回退方案IE8FlashActiveX控件纯HTTP分块上传Chrome/FirefoxWeb Workers多线程Fetch API360浏览器兼容模式检测强制使用Chrome内核EdgeFetch API Streams APIPolyfill2.操作系统适配Windows 7禁用TLS 1.3强制使用TLS 1.2安装.NET Framework 4.8通过Web安装程序Linux提供Mono运行时支持针对ASP.NET WebForm预装libgcryptSM4算法依赖五、供应商评估标准资质要求提供5个国企项目合同需包含金融/政府客户阿里云技术认证合作伙伴资质SM4算法商用密码产品认证交付物清单完整C#源代码含ASP.NET WebForm控件库IE8兼容性测试报告100G文件传输压力测试数据六、项目实施计划POC验证阶段2周在阿里云ECS搭建测试环境完成IE8/CentOS/SQL Server兼容性验证核心功能开发4周实现分片上传/下载基础框架完成SM4加密传输模块兼容性适配阶段3周适配360浏览器/统信UOS通过等保2.0二级安全测评七、风险控制IE8兼容风险预留10%预算用于采购第三方兼容性组件如Telerik UI性能瓶颈风险在阿里云部署SLB负载均衡采用OSS多副本存储策略提升下载速度八、商务谈判要点授权模式要求按年授权≤20万/年明确授权范围公司内部所有项目无限使用技术保障要求提供7×24小时技术支持约定SLA故障响应时间≤2小时本方案通过模块化设计可快速集成到公司20现有项目中预计降低60%以上重复开发成本。建议优先选择具有金融项目实施经验的供应商如中科软、南天信息等确保系统稳定性达到99.95%可用性要求。设置框架安装.NET Framework 4.7.2https://dotnet.microsoft.com/en-us/download/dotnet-framework/net472框架选择4.7.2添加3rd引用编译项目NOSQLNOSQL无需任何配置可直接访问页面进行测试SQL使用IIS大文件上传测试推荐使用IIS以获取更高性能。使用IIS Express小文件上传测试可以使用IIS Express创建数据库配置数据库连接信息检查数据库配置访问页面进行测试相关参考文件保存位置效果预览文件上传文件刷新续传支持离线保存文件进度在关闭浏览器刷新浏览器后进行不丢失仍然能够继续上传文件夹上传支持上传文件夹并保留层级结构同样支持进度信息离线保存刷新页面关闭页面重启系统不丢失上传进度。下载完整示例下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

枣庄网站设计千锋教育前端培训

导语 【免费下载链接】Step-Audio-2-mini-Think 项目地址: https://ai.gitcode.com/StepFun/Step-Audio-2-mini-Think 阶跃AI(StepFun)正式开源端到端多模态语音大模型Step-Audio 2,以"听得懂、想得明白、说得自然"三大核心…

张小明 2026/3/5 7:27:41 网站建设

什么网站可以分享wordpress怎么做学校网站和微信公众号

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个对比实验项目:1) 传统手动开发方式;2) 使用WinStep.NTE的AI辅助开发。开发同一个简单的数据可视化Windows应用,记录各阶段耗时。要求应用…

张小明 2026/3/5 7:27:44 网站建设

商务网站建设教学视频教程企业网站开发公司有哪些

JetBrains IDE插件构想:在编码时随时提问 你有没有过这样的经历?正专注地写着一段复杂的 Java 逻辑,突然卡在某个异常处理上,不确定是空指针还是类型转换的问题。于是你停下手中的工作,复制错误信息,打开浏…

张小明 2026/3/5 7:27:56 网站建设

专业做网站 郑州wordpress 风格

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码获取及仿…

张小明 2026/3/5 7:27:46 网站建设

工信部网站备案信息查询家装设计网站怎么做

文章总结了2025年大模型发展的6大趋势:RLVR成为训练新阶段、大模型智能形态不同于动物智能、Cursor展示应用新层面、Claude Code推动端侧智能体、Vibe Coding重塑软件行业、Nano Banana革新人机交互。卡帕西认为大模型潜力仅挖掘10%,正处于早期发展阶段&…

张小明 2026/3/5 7:27:51 网站建设

外贸公司都是在什么网站做推广辽宁省建设网官网

Excalidraw图形对齐技巧:精准布局的秘诀 在远程协作日益成为常态的今天,一张清晰、结构分明的架构图往往比千言万语更有效。无论是向团队解释微服务调用链,还是在产品评审会上展示用户流程,我们都希望白板上的内容不仅“有内容”…

张小明 2026/3/5 7:27:48 网站建设