免费作文网站注册网站多少钱一年

张小明 2026/1/9 17:22:12
免费作文网站,注册网站多少钱一年,自己制作网站视频教程,杭州做网站的公司一个前端菜鸟的大文件上传奋斗史 大家好#xff0c;我是一个在浙江某大学网络工程专业摸爬滚打的大三狗#x1f436;#xff0c;最近被一个小小的文件管理系统项目折磨得死去活来… 我的简单需求清单 #x1f4dd; 文件上传#xff1a;不就是传…一个前端菜鸟的大文件上传奋斗史大家好我是一个在浙江某大学网络工程专业摸爬滚打的大三狗最近被一个小小的文件管理系统项目折磨得死去活来…我的简单需求清单 文件上传不就是传个文件吗简单等等…10G的文件文件夹上传要保留层级结构的那种哦断点续传关了浏览器、重启电脑都不能丢进度加密传输不能让隔壁寝室的小王偷看我的学习资料浏览器兼容从IE8到各种国产浏览器一个都不能少我的技术栈 前端Vue3 原生JS老师说要锻炼基础开发工具VSCode配色必须用暗黑主题才显得专业后端Python刚学目前只会print(“Hello World”)数据库MySQL只会简单的增删改查服务器先放我F盘等有钱了再搞个CentOS虚拟机我的血泪史 在网上找了一圈代码不是功能不全就是根本跑不起来那些开发者连个联系方式都不留出了bug只能自求多福。我寻思着这代码写得跟薛定谔的猫似的——你不运行就不知道它能不能用于是我一怒之下建了个QQ群374992201欢迎同是天涯沦落人的小伙伴们加入。新人入群送1-99元红包99元的那个红包我还没见过长啥样还有各种超级会员、代理商头衔等你来拿其实就是大家一起互相折磨罢了前端代码实现Vue3版 1. 大文件分片上传核心逻辑// FileUploader.vueexportdefault{data(){return{fileList:[],folderList:[],chunkSize:5*1024*1024,// 5MB一个分片maxRetries:3,// 最大重试次数uploadProgress:{},// 上传进度resumeData:JSON.parse(localStorage.getItem(uploadResumeData))||{}// 断点续传数据}},methods:{// 处理文件选择handleFileChange(e){constfilesArray.from(e.target.files)files.forEach(file{// 10GB文件限制检查if(file.size10*1024*1024*1024){alert(文件大小超过10GB限制!)return}this.fileList.push(this.prepareFile(file))})},// 准备文件对象prepareFile(file){return{id:this.generateFileId(file),file,name:file.name,size:file.size,type:file.type,chunks:Math.ceil(file.size/this.chunkSize),uploadedChunks:0,status:pending,encrypted:false}},// 生成唯一文件IDgenerateFileId(file){returnfile.name_file.size_file.lastModified},// 开始上传asyncstartUpload(){for(constfileObjofthis.fileList){if(fileObj.statuscompleted)continuefileObj.statusuploadingawaitthis.uploadFile(fileObj)}},// 文件分片上传asyncuploadFile(fileObj){const{file,id,chunks}fileObjfor(leti0;ichunks;i){// 检查是否已经上传过该分片if(this.resumeData[id]?.includes(i)){fileObj.uploadedChunksthis.updateProgress(fileObj)continue}constchunkthis.getFileChunk(file,i)constformDatanewFormData()formData.append(file,chunk)formData.append(chunkIndex,i)formData.append(totalChunks,chunks)formData.append(fileId,id)formData.append(fileName,file.name)letretries0letsuccessfalse// 重试机制while(retriesthis.maxRetries!success){try{awaitthis.uploadChunk(formData)successtrue// 更新断点续传数据if(!this.resumeData[id]){this.resumeData[id][]}this.resumeData[id].push(i)localStorage.setItem(uploadResumeData,JSON.stringify(this.resumeData))fileObj.uploadedChunksthis.updateProgress(fileObj)}catch(error){retriesif(retriesthis.maxRetries){fileObj.statuserrorconsole.error(分片${i}上传失败:,error)}}}}if(fileObj.uploadedChunkschunks){fileObj.statuscompleted// 通知后端合并文件awaitthis.mergeFile(fileObj)}},// 获取文件分片getFileChunk(file,chunkIndex){conststartchunkIndex*this.chunkSizeconstendMath.min(file.size,startthis.chunkSize)returnfile.slice(start,end)},// 更新进度updateProgress(fileObj){constprogressMath.round((fileObj.uploadedChunks/fileObj.chunks)*100)this.uploadProgress[fileObj.id]progressthis.$forceUpdate()},// 上传分片实际请求需要根据后端实现uploadChunk(formData){returnnewPromise((resolve,reject){constxhrnewXMLHttpRequest()xhr.open(POST,/api/upload/chunk,true)xhr.onload(){if(xhr.status200xhr.status300){resolve(xhr.response)}else{reject(xhr.statusText)}}xhr.onerror()reject(Network error)xhr.send(formData)})},// 合并文件实际请求需要根据后端实现mergeFile(fileObj){returnfetch(/api/upload/merge,{method:POST,headers:{Content-Type:application/json},body:JSON.stringify({fileId:fileObj.id,fileName:fileObj.name,totalChunks:fileObj.chunks})})},// 文件夹上传处理handleFolderUpload(e){constitemse.dataTransfer?.items||e.target.filesthis.processFolderItems(items)},// 递归处理文件夹内容asyncprocessFolderItems(items,path){for(leti0;iitems.length;i){constentryitems[i].webkitGetAsEntry?.()||items[i]if(entry.isFile){entry.file(file{constfileObjthis.prepareFile(file)fileObj.pathpaththis.fileList.push(fileObj)})}elseif(entry.isDirectory){constdirReaderentry.createReader()dirReader.readEntries(entries{this.processFolderItems(entries,${path}${entry.name}/)})}}},// 简单加密函数演示用实际应该使用更强大的加密算法simpleEncrypt(data){// 这里应该使用Web Crypto API或其他加密库// 仅为演示实际项目中请勿使用这种简单加密returnbtoa(unescape(encodeURIComponent(data)))}}}2. 兼容IE8的polyfills和hack // polyfills.js// 兼容IE8的File API polyfillif(typeofFileundefined){functionFile(){// 简陋的模拟实现}}// 兼容IE8的Blob polyfillif(typeofBlobundefined){functionBlob(){// 简陋的模拟实现}}// 兼容IE8的FormData polyfillif(typeofFormDataundefined){functionFormData(){this.data[]this.appendfunction(key,value){this.data.push({key:key,value:value})}}}// 兼容旧版浏览器的requestAnimationFrameif(!window.requestAnimationFrame){window.requestAnimationFramefunction(callback){returnsetTimeout(callback,1000/60)}}// 兼容旧版浏览器的fetch APIif(!window.fetch){window.fetchfunction(url,options){returnnewPromise(function(resolve,reject){varxhrnewXMLHttpRequest()xhr.open(options.method||GET,url)if(options.headers){Object.keys(options.headers).forEach(function(key){xhr.setRequestHeader(key,options.headers[key])})}xhr.onloadfunction(){resolve({status:xhr.status,json:function(){returnPromise.resolve(JSON.parse(xhr.responseText))},text:function(){returnPromise.resolve(xhr.responseText)}})}xhr.onerrorreject xhr.send(options.body)})}}我的卑微请求 求后端大佬有没有Python后端大佬愿意带带我我可以用我的毕设成果如果我能做出来的话回报您求工作推荐马上要毕业了有师哥师姐在招人吗我要求不高能给口饭吃就行最好能顺便教教我后端。求学习伙伴加我QQ群374992201我们一起从入门到放弃再从放弃到入门最后的小广告 加入我们群你将获得1-99元红包99元的那位同学请私聊我领奖一起学习的小伙伴互相折磨到白头可能的就业机会等我们学会后互相内推无限的快乐看着别人和自己一样痛苦记住我们的口号“今天不努力明天做后端”免责声明以上代码仅供参考实际项目中请根据需求修改。作者不对因使用此代码导致的电脑爆炸、头发脱落、挂科等后果负责。将组件复制到项目中示例中已经包含此目录引入组件配置接口地址接口地址分别对应文件初始化文件数据上传文件进度文件上传完毕文件删除文件夹初始化文件夹删除文件列表参考http://www.ncmem.com/doc/view.aspx?ide1f49f3e1d4742e19135e00bd41fa3de处理事件启动测试启动成功效果数据库效果预览文件上传文件刷新续传支持离线保存文件进度在关闭浏览器刷新浏览器后进行不丢失仍然能够继续上传文件夹上传支持上传文件夹并保留层级结构同样支持进度信息离线保存刷新页面关闭页面重启系统不丢失上传进度。下载示例点击下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

怎么用自己的电脑做网站空间热狗seo优化外包

积木报表数据库表缺失终极解决方案:一键修复拖拽设计页面故障 【免费下载链接】jimureport 「数据可视化工具:报表、大屏、仪表盘」积木报表是一款类Excel操作风格,在线拖拽设计的报表工具和和数据可视化产品。功能涵盖: 报表设计、大屏设计、…

张小明 2026/1/6 12:12:19 网站建设

深圳市建设厅官方网站搜索引擎优化seo名词解释

题目介绍 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 提示: 1 < numRows < 30 class Solution { public:vector<vector<int>> generate(int numRows) {} …

张小明 2026/1/6 12:11:46 网站建设

深圳网站建设.-方维网络好网站开发策划要求

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

张小明 2026/1/6 12:11:09 网站建设

做网站怎么投放广告南京网站公司

在数字时代&#xff0c;你的微博内容就是珍贵的数字资料。每一条动态、每一张照片、每一次互动都构成了你的社交记忆档案。Speechless作为专业的微博备份工具&#xff0c;通过智能PDF导出功能&#xff0c;为你构建个人专属的数字存储库&#xff0c;让重要信息永不丢失。 【免费…

张小明 2026/1/6 12:10:37 网站建设

新绛做网站网站组网图

一、项目介绍 本研究开发了一种基于YOLOv10的鸡检测和跟踪系统&#xff0c;专注于检测单一类别&#xff1a;rooster&#xff08;鸡&#xff09;。该系统旨在实现对鸡的实时检测和跟踪&#xff0c;适用于养殖场管理、行为研究等场景。YOLOv10作为一种高效的目标检测模型&#xf…

张小明 2026/1/7 13:15:13 网站建设

唐山网站制作价格怎样申请免费的网站空间

理解 DeepSeek 的核心功能DeepSeek 作为智能助手&#xff0c;能够处理自然语言查询、代码生成、数据分析等任务。明确其能力范围&#xff0c;包括文本理解、知识检索、多轮对话等特性&#xff0c;是高效使用的基础。工作场景分类与需求匹配将工作场景分为文档处理、编程辅助、数…

张小明 2026/1/7 12:25:34 网站建设