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

潞城网站建设公司石柱网站制作

潞城网站建设公司,石柱网站制作,苏州工业园区有哪些企业,自己做的公司网站百度搜不到问题记录原因#xff1a; 因为需要实现网络文件的上传#xff0c;结果是由前端实现#xff0c;方式是一边下载#xff0c;一遍上传文件#xff0c;小文件直接上传#xff0c;大文件进行切片#xff0c;切片大小和下载大小有关#xff0c;特此记录。 1.实现方案 fetc…问题记录原因 因为需要实现网络文件的上传结果是由前端实现方式是一边下载一遍上传文件小文件直接上传大文件进行切片切片大小和下载大小有关特此记录。 1.实现方案 fetch进行网络连接的下载在请求的返回对象中调用response.body.getReader()这里是读取文件流便于监听读取的方式为reader.read()它的返回对象中包含文件对象和完成状态这样就能实现循环执行下载的动作知道状态为完成停止。 2.步骤代码 1下载 const response: any await fetch(downloadUrl); const reader response.body.getReader(); // 读取响应的文件字节数 const contentLength response.headers.get(Content-Length); 2上传 使用MD5计算文件的hash进行分片上传 let receivedLength 0; // 分片上传的话需要计算每一片文件的hash我们使用MD5 const spark new SparkMD5.ArrayBuffer(); while(true) {const {done, value} await reader.read();if (done) {// 计算整个文件的hashconst finalHash spark.end();console.log(下载上传完成:, finalHash);break;}// 更新整个文件的hashspark.append(value);receivedLength value.length;console.log(下载进度: ${receivedLength} / ${contentLength});// 创建一个新的SparkMD5实例来处理当前分片const chunkHash SparkMD5.ArrayBuffer.hash(value); // 计算当前分片的hashconst offset receivedLength - value.length;// console.log(contentLength, offset, chunkHash, hash, value.length);// 上传这个分片,这里执行接口... } contentLength, offset, chunkHash, hash, value.length这些参数是分片上传所需要的依次是 文件的大小分片的偏移量每一片的hash这个参数可选整个文件的hash这个需要提前计算出来每一个分片的大小 3.拓展 1计算大文件的hash 可以参考【文件比较】前端上传比较内容及名字-CSDN博客 2content-type类型与文件类型的对应关系 不全面只是涵盖大多文件类型 const getFileTypeByContentType (contentType: string) {let type [image/jpeg, image/pjpeg].includes(contentType) ? jpg:[image/png].includes(contentType) ? png:[image/gif].includes(contentType) ? gif:[image/svgxml].includes(contentType) ? svg:[video/mp4].includes(contentType) ? mp4:[video/quicktime].includes(contentType) ? mov:[text/html].includes(contentType) ? html:[text/markdown].includes(contentType) ? md:[text/plain].includes(contentType) ? txt:[text/csv].includes(contentType) ? csv:[application/json].includes(contentType) ? json:[application/x-yaml, text/yaml].includes(contentType) ? yaml:[application/pdf].includes(contentType) ? pdf:[application/msword].includes(contentType) ? doc:[application/vnd.openxmlformats-officedocument.wordprocessingml.document].includes(contentType) ? docx:[application/vnd.openxmlformats-officedocument.spreadsheetml.sheet].includes(contentType) ? xlsx:[application/vnd.ms-excel].includes(contentType) ? xls:[application/vnd.openxmlformats-officedocument.presentationml.presentation].includes(contentType) ? pptx:[application/zip].includes(contentType) ? zip:;return type }
http://www.w-s-a.com/news/992393/

相关文章:

  • 门户型网站开发难度网站导航栏有哪些
  • 推荐做任务网站软件定制开发哪家好
  • 邯郸兄弟建站第三方仓储配送公司
  • 商丘家具网站建设wordpress 添加代码
  • 基础建设的网站有哪些内容成都科技网站建设咨询电话
  • 券多多是谁做的网站招聘网站开发模板
  • 网站主机一般选哪种的企业数字展厅
  • 网站建设该如何学衡水建设局网站首页
  • 高校网站建设工作总结番禺网站开发哪家好
  • 苏州 网站的公司wordpress主页代码
  • 怎么用html做图片展示网站外贸网站建设推广费用
  • 可以做本地生活服务的有哪些网站中油七建公司官网
  • 如何建设谷歌网站网站建设优点
  • 做网站的目标是什么产品宣传片制作公司
  • 柳州建设公司网站辽宁建设工程信息网评标专家入库
  • 合肥建设学校官方网站excel导入wordpress
  • 禹城网站设计做网站需要考虑哪些
  • 深圳做营销网站建设wordpress添加文章封面
  • 阿里云的网站建设方案织梦和wordpress哪个安全
  • 聊城网站建设公司电话wordpress怎么重新配置文件
  • 创业如何进行网站建设泰州公司注册
  • 免费网站建设培训学校手机百度高级搜索入口在哪里
  • 建站经验安徽六安发现一例新冠阳性检测者
  • 滨州内做网站系统的公司汕头网络营销公司
  • 苏州制作网站的公司哪家好wordpress google搜索
  • c语言做项目网站wordpress博客被书为什么还
  • 企业建站用什么系统网站建设补充协议模板
  • 常州网站关键字优化淘客网站怎么做排名
  • 全flash网站制作教程网站做进一步优化
  • 建设网站步骤是如何做自媒体和网站签约赚点击