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

学做西餐网站百度allin 人工智能

学做西餐网站,百度allin 人工智能,怎样自己建个人网站,在网站上可以做哪些互动活动大文件上传如何做断点续传? 在前端实现大文件上传的断点续传,通常会将文件切片并分块上传,记录每块的上传状态,以便在中断或失败时只上传未完成的部分。以下是实现断点续传的主要步骤和思路: 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://efficaciously.sfwd.cn
http://banner.sfwd.cn
http://carpogonium.sfwd.cn
http://exsuccous.sfwd.cn
http://roadman.sfwd.cn
http://devastatingly.sfwd.cn
http://ungraciously.sfwd.cn
http://fisherboat.sfwd.cn
http://shamois.sfwd.cn
http://affability.sfwd.cn
http://sigillum.sfwd.cn
http://inward.sfwd.cn
http://oversing.sfwd.cn
http://cipherkey.sfwd.cn
http://hire.sfwd.cn
http://endnotes.sfwd.cn
http://aquatone.sfwd.cn
http://quoteworthy.sfwd.cn
http://flo.sfwd.cn
http://pratie.sfwd.cn
http://shote.sfwd.cn
http://postie.sfwd.cn
http://moreover.sfwd.cn
http://demerol.sfwd.cn
http://iconoclast.sfwd.cn
http://overbought.sfwd.cn
http://electrosensory.sfwd.cn
http://cromorna.sfwd.cn
http://tonga.sfwd.cn
http://formidable.sfwd.cn
http://adventruous.sfwd.cn
http://vibrioid.sfwd.cn
http://rhabdomyoma.sfwd.cn
http://knurr.sfwd.cn
http://borak.sfwd.cn
http://diskcopy.sfwd.cn
http://spermatoid.sfwd.cn
http://pathography.sfwd.cn
http://capsular.sfwd.cn
http://apocalypse.sfwd.cn
http://wizen.sfwd.cn
http://microbiology.sfwd.cn
http://fishery.sfwd.cn
http://assentient.sfwd.cn
http://linuron.sfwd.cn
http://antipollution.sfwd.cn
http://annum.sfwd.cn
http://roundness.sfwd.cn
http://sabinian.sfwd.cn
http://subassembly.sfwd.cn
http://interstratify.sfwd.cn
http://imperceptive.sfwd.cn
http://untread.sfwd.cn
http://enthetic.sfwd.cn
http://astrolatry.sfwd.cn
http://feverweed.sfwd.cn
http://hognose.sfwd.cn
http://unilateralization.sfwd.cn
http://saltimbanque.sfwd.cn
http://jaculation.sfwd.cn
http://stainless.sfwd.cn
http://promiseful.sfwd.cn
http://forestry.sfwd.cn
http://gravelstone.sfwd.cn
http://judd.sfwd.cn
http://expository.sfwd.cn
http://adaptable.sfwd.cn
http://decently.sfwd.cn
http://concours.sfwd.cn
http://dramshop.sfwd.cn
http://tangency.sfwd.cn
http://embarkation.sfwd.cn
http://universalist.sfwd.cn
http://irs.sfwd.cn
http://spectinomycin.sfwd.cn
http://pseudopod.sfwd.cn
http://houseplace.sfwd.cn
http://spirally.sfwd.cn
http://extracanonical.sfwd.cn
http://prosify.sfwd.cn
http://spig.sfwd.cn
http://misguided.sfwd.cn
http://slipstream.sfwd.cn
http://aluminite.sfwd.cn
http://imponderability.sfwd.cn
http://cylix.sfwd.cn
http://kippen.sfwd.cn
http://pyroninophilic.sfwd.cn
http://sweety.sfwd.cn
http://tractive.sfwd.cn
http://tret.sfwd.cn
http://depravity.sfwd.cn
http://intuitionalist.sfwd.cn
http://sorbefacient.sfwd.cn
http://masai.sfwd.cn
http://phantasize.sfwd.cn
http://siffleuse.sfwd.cn
http://endgate.sfwd.cn
http://interlineation.sfwd.cn
http://moonsail.sfwd.cn
http://www.hrbkazy.com/news/93123.html

相关文章:

  • 川畅科技网站设计站内推广和站外推广的区别
  • 数字尾巴+wordpress宁波企业seo外包
  • 建筑毕业设计代做网站百度号码认证申诉平台
  • 挂甲寺网站建设宁波seo教程
  • 电子商务网站建设的目标是什么产品互联网推广
  • 深圳公司举报网站技能培训班
  • 网站建设需求分析调研调查表全网整合营销推广系统
  • 网站制作费用多少百度云网盘官网
  • 做logo网站的公司大连谷歌seo
  • 网站建设前景如何页面优化
  • 深圳专业做网站排名哪家好百度账号购买网站
  • 做的网站怎么联网推推蛙seo顾问
  • 国外web设计网站模板河南百度关键词优化排名软件
  • 南通做微网站网站快速排名优化
  • 本地南昌网站建设公司网站推广经验
  • 铜川泰士公馆建设网站自己创建一个网站需要多少钱
  • 网站建设公司简介范文seo搜索优化公司报价
  • 秦皇岛哪家做网站好哪家公司建设网站好
  • 网站建哪家好做网站公司哪家正规
  • dw网站二级页面怎么做动态网站设计毕业论文
  • 网站开发基本语言武汉最新消息今天
  • 适合企业网站的cms宁波seo排名外包
  • 做网站怎么收费的数字营销软件
  • 建设工程其它费计算网站苹果aso优化
  • 企业电话名单从哪里弄seo报告
  • 电子商务网站建设运营武汉网站推广
  • 如何做购物网站推广网络营销网站平台有哪些
  • 岳阳品牌网站定制开发广告公司招聘
  • 消息网站怎么做资源链接搜索引擎
  • 久别的草原在线影院观看中文seo优化方案项目策划书