影视网站建设的总体目标网站备案 阿里云
2026/1/9 9:25:37 网站建设 项目流程
影视网站建设的总体目标,网站备案 阿里云,青岛建手机网站哪家好,wordpress主题 个人博客【一个网工仔的悲喜交加#xff1a;前端搞定了#xff0c;后端求包养#xff01;】 各位道友好#xff01;俺是山西某高校网络工程专业的菜狗一枚#xff0c;刚啃完《JavaScript从入门到住院》#xff0c;就被导师按头要求搞个10G大文件上传系统。现在前端用Vue3原生JS硬…【一个网工仔的悲喜交加前端搞定了后端求包养】各位道友好俺是山西某高校网络工程专业的菜狗一枚刚啃完《JavaScript从入门到住院》就被导师按头要求搞个10G大文件上传系统。现在前端用Vue3原生JS硬怼出了半成品但后端还是个大坑啊求各路神仙带带弟弟或者收个关门弟子管饭就行 前端魔改代码Vue3 原生JS兼容IE8版// FileUploader.js兼容IE8的文件夹上传组件classOldSchoolUploader{constructor(options){this.chunks[];// 分片信息存储this.fileMd5;// 文件唯一标识this.isIE8!!window.ActiveXObject||ActiveXObjectinwindow;// 检测IE8this.isXinChuang/Lotus|RedLotus|QAX/.test(navigator.userAgent);// 检测国产浏览器// IE8专用XMLHttpRequest封装this.getIE8XHR(){try{returnnewActiveXObject(Msxml2.XMLHTTP);}catch(e){returnnewActiveXObject(Microsoft.XMLHTTP);}};// 计算文件MD5IE8用文件名大小当伪MD5this.calculateMD5(file,callback){if(this.isIE8){callback(${file.name}-${file.size}-${Date.now()});}else{// 正常MD5计算此处省略200行crypto-js代码console.log(正常浏览器MD5计算中...);}};}// 文件夹上传递归遍历FormData魔改uploadFolder(folder,parentPath){constfiles[];constdirReaderfolder.createReader();dirReader.readEntries(entries{entries.forEach(entry{if(entry.isFile){entry.file(file{files.push({path:${parentPath}/${entry.name},file});});}else{this.uploadFolder(entry,${parentPath}/${entry.name});}});// 国产浏览器降级处理if(this.isXinChuang){setTimeout(()this.processFiles(files),100);}else{Promise.all(files).then(()this.processFiles(files));}});}// 断点续传进度保存兼容IE8的localStorage降级方案saveProgress(fileMd5,progress){if(window.localStorage){localStorage.setItem(upload_${fileMd5},JSON.stringify(progress));}elseif(document.documentElement.addBehavior){// IE8及以下用userData存储conststoragedocument.createElement(div);storage.addBehavior(#default#userData);storage.setAttribute(progress,JSON.stringify(progress));storage.save(upload_${fileMd5});}}}// Vue3组件中使用示例exportdefault{methods:{handleFolderUpload(event){constfolderInputevent.target;if(folderInput.filesfolderInput.files[0]){constfolderfolderInput.files[0].webkitRelativePath?folderInput.files[0]// Chrome:{// IE/Edge模拟文件夹name:fake_folder,createReader:()({readEntries:callback{constentriesArray.from(folderInput.files).map(file({isFile:true,name:file.name,file:()newPromise(resolveresolve(file))}));callback(entries);}})};constuploadernewOldSchoolUploader();uploader.uploadFolder(folder);}}}} 血泪经验总结浏览器兼容性IE8用ActiveXObject替代fetch国产浏览器如龙芯需禁用某些现代API文件路径统一用/避免转义问题断点续传秘籍// 本地存储进度兼容IE8constsaveProgress(fileMd5,progress){if(window.localStorage){localStorage.setItem(upload_${fileMd5},JSON.stringify(progress));}else{// IE8降级方案document.cookieupload_${fileMd5}${encodeURIComponent(JSON.stringify(progress))};path/;}};加密传输方案前端用CryptoJS加密需引入polyfill支持IE8后端计划用Python的cryptography库解密传输走HTTPS本地用自签名证书 江湖救急现诚征各路大侠加入QQ群374992201进群领1-99元红包推荐项目拿50%提成求后端师傅收留Python/Java/Go都行可签卖身契需要完整项目代码的兄弟群里每天晚上8点准时发车附导师说项目要是能过请群主吃平遥牛肉管够 群内福利免费提供IE8兼容性测试工具包每周三晚代码接诊大佬在线改bug共享国产浏览器虚拟机环境龙芯/红莲花/奇安信PS群里还有从0到1搭建后端系列教程包括Python Flask/Django极速入门MySQL分片存储方案设计CentOS部署全流程手把手教学悄悄说群文件里有《如何让导师感动到哭的答辩技巧》.pdf将组件复制到项目中示例中已经包含此目录引入组件配置接口地址接口地址分别对应文件初始化文件数据上传文件进度文件上传完毕文件删除文件夹初始化文件夹删除文件列表参考http://www.ncmem.com/doc/view.aspx?ide1f49f3e1d4742e19135e00bd41fa3de处理事件启动测试启动成功效果数据库效果预览文件上传文件刷新续传支持离线保存文件进度在关闭浏览器刷新浏览器后进行不丢失仍然能够继续上传文件夹上传支持上传文件夹并保留层级结构同样支持进度信息离线保存刷新页面关闭页面重启系统不丢失上传进度。下载示例点击下载完整示例

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询