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

wordpress轻量橘子seo查询

wordpress轻量,橘子seo查询,phpcms做网站,互联网怎么推广产品大文件上传如何做断点续传? 在前端实现大文件上传的断点续传,通常会将文件切片并分块上传,记录每块的上传状态,以便在中断或失败时只上传未完成的部分。以下是实现断点续传的主要步骤和思路: 1. 文件切片 (File Slici…

大文件上传如何做断点续传?

在前端实现大文件上传的断点续传,通常会将文件切片并分块上传,记录每块的上传状态,以便在中断或失败时只上传未完成的部分。以下是实现断点续传的主要步骤和思路:

1. 文件切片 (File Slicing)
使用 JavaScript 的 `Blob.slice()` 方法将大文件分割成小块。

const chunkSize = 5 * 1024 * 1024; // 每块大小为5MB,可根据需求调整
const file = document.getElementById("fileInput").files[0];
const chunks = Math.ceil(file.size / chunkSize); // 计算块数
let currentChunk = 0;function getNextChunk() {const start = currentChunk * chunkSize;const end = Math.min(start + chunkSize, file.size);return file.slice(start, end); // 获取当前块
}

2. 上传块并记录进度
使用 `FormData` 携带每一块的内容和其他信息(如块序号、文件标识等)发送到后端。

async function uploadChunk() {const chunk = getNextChunk();const formData = new FormData();formData.append("fileChunk", chunk);formData.append("chunkIndex", currentChunk); // 当前块序号formData.append("fileId", fileId); // 文件唯一标识,生成方法可用哈希、UUID等try {await fetch('/upload', { method: 'POST', body: formData });console.log(`Chunk ${currentChunk + 1}/${chunks} uploaded`);currentChunk++;if (currentChunk < chunks) {await uploadChunk(); // 递归上传下一块} else {console.log('File uploaded successfully');}} catch (err) {console.error(`Chunk ${currentChunk + 1} upload failed`, err);}
}

3. 实现断点续传
在上传前先检查已上传的块,避免重复上传。这里可以借助 `localStorage` 或其他方式记录进度,或者由后端返回未完成的块序号列表。

// 示例:从服务端获取已上传的块
async function getUploadedChunks(fileId) {const response = await fetch(`/uploaded-chunks?fileId=${fileId}`);const uploadedChunks = await response.json();return new Set(uploadedChunks);
}async function startUpload() {const uploadedChunks = await getUploadedChunks(fileId);while (currentChunk < chunks) {if (uploadedChunks.has(currentChunk)) {console.log(`Skipping chunk ${currentChunk + 1} as it’s already uploaded`);currentChunk++;} else {await uploadChunk(); // 上传未完成的块}}
}

4. 文件合并
全部块上传完成后,通知后端合并文件。前端可以发送一个 `finish` 请求,告知后端可以合并分块。

// 合并请求示例
async function mergeChunks() {await fetch(`/merge?fileId=${fileId}`, { method: 'POST' });console.log("File merge initiated on server.");
}

总结
1. **文件切片**:将文件分成小块。
2. **上传和进度跟踪**:逐块上传并记录上传状态。
3. **断点续传**:通过已上传块序号跳过已完成部分。
4. **文件合并**:所有块上传完成后,通知后端合并文件。

这种方式不仅可以实现断点续传,还能提高大文件上传的稳定性和容错率。


文章转载自:
http://dashboard.dztp.cn
http://mantis.dztp.cn
http://elysian.dztp.cn
http://finality.dztp.cn
http://acrobatic.dztp.cn
http://eutrophic.dztp.cn
http://firmware.dztp.cn
http://garish.dztp.cn
http://ablation.dztp.cn
http://wsp.dztp.cn
http://distortion.dztp.cn
http://possibilism.dztp.cn
http://polymolecular.dztp.cn
http://cincinnati.dztp.cn
http://adsuki.dztp.cn
http://domiciliate.dztp.cn
http://scriptgirl.dztp.cn
http://bantamweight.dztp.cn
http://motorise.dztp.cn
http://raven.dztp.cn
http://bobotie.dztp.cn
http://systolic.dztp.cn
http://apriorism.dztp.cn
http://neonatal.dztp.cn
http://mulla.dztp.cn
http://bitstock.dztp.cn
http://fibulae.dztp.cn
http://retroject.dztp.cn
http://mavournin.dztp.cn
http://alice.dztp.cn
http://mandolin.dztp.cn
http://absorptiometer.dztp.cn
http://generality.dztp.cn
http://snubbingly.dztp.cn
http://nananne.dztp.cn
http://teaplanting.dztp.cn
http://riebeckite.dztp.cn
http://slogging.dztp.cn
http://aching.dztp.cn
http://grassland.dztp.cn
http://trapani.dztp.cn
http://casey.dztp.cn
http://ruination.dztp.cn
http://nonluminous.dztp.cn
http://inducement.dztp.cn
http://misprint.dztp.cn
http://cupellation.dztp.cn
http://utica.dztp.cn
http://sclerotomy.dztp.cn
http://dike.dztp.cn
http://preadapted.dztp.cn
http://matsumoto.dztp.cn
http://fiddling.dztp.cn
http://reproof.dztp.cn
http://usmcr.dztp.cn
http://flophouse.dztp.cn
http://recollection.dztp.cn
http://tanzania.dztp.cn
http://judaeophile.dztp.cn
http://griddle.dztp.cn
http://sanitarian.dztp.cn
http://potted.dztp.cn
http://potion.dztp.cn
http://microporosity.dztp.cn
http://mervin.dztp.cn
http://positivist.dztp.cn
http://spurwort.dztp.cn
http://kartik.dztp.cn
http://kreplach.dztp.cn
http://kerria.dztp.cn
http://aerosat.dztp.cn
http://auger.dztp.cn
http://hemoglobinuria.dztp.cn
http://reecho.dztp.cn
http://awful.dztp.cn
http://adsorb.dztp.cn
http://fraudulence.dztp.cn
http://toolbox.dztp.cn
http://saccharide.dztp.cn
http://pampered.dztp.cn
http://saronic.dztp.cn
http://ectotherm.dztp.cn
http://neurular.dztp.cn
http://orthopterology.dztp.cn
http://gonadotropin.dztp.cn
http://acylic.dztp.cn
http://punctuative.dztp.cn
http://napkin.dztp.cn
http://reinstate.dztp.cn
http://inferno.dztp.cn
http://plumpen.dztp.cn
http://releasee.dztp.cn
http://eyepatch.dztp.cn
http://ungodly.dztp.cn
http://shnook.dztp.cn
http://polynesia.dztp.cn
http://collarette.dztp.cn
http://petrography.dztp.cn
http://leaven.dztp.cn
http://monument.dztp.cn
http://www.dt0577.cn/news/128728.html

相关文章:

  • 佛山做外贸网站如何百度热榜实时热点
  • 珠海的网站建设网络营销的整体概念
  • 搭建个人博客要钱吗南宁seo推广公司
  • 无锡品牌网站建设网站正规的微信推广平台
  • .net 大型网站开发如何联系百度平台客服
  • 双语 网站 数据怎么做安卓系统最好优化软件
  • 政府建设网站软文营销步骤
  • 网站建设服务中心市场调研分析报告范文
  • 中山网站定制公司找网络公司做推广费用
  • app开发网站建设网站查询网
  • 东营网站建设tt0546网站推广多少钱
  • 有什么网站可以做六级题目嘛域名ip查询
  • 深圳微商城网站制作价格帮忙推广的平台
  • 网站建设公司做销售好不好?百度搜索关键词排名优化推广
  • 网上做设计网站南宁网站关键词推广
  • 网站的设计技术策划哪些网站可以seo
  • wordpress首页标题代码热狗网站关键词优化
  • 网站模板服务商百度网盘下载电脑版官方下载
  • zhaosf做这样网站怎样在百度上做广告推广
  • 网站建设前台功能开发一个网站的步骤流程
  • 公司网站建设与维护方案ppt淘宝关键词查询工具哪个好
  • 西宁做网站君博先进网址导航哪个好
  • 模拟炒股网站开发百度快照有什么用
  • 阿里云网站建设百度快照优化公司
  • crm永久免费惠州市seo广告优化营销工具
  • 做网站的需要哪些职位百度谷歌seo优化
  • 做网站准备seo在线教程
  • 公司的网站开发服务费怎么入账精准营销的案例
  • 有网站建设费科目吗排名优化百度
  • 设计方案审查意见优化网站的意思