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

英文网站怎么做seo免费下载百度seo

英文网站怎么做seo,免费下载百度seo,在手机上怎么赚钱,深圳app开发公司价格怎么算前端文件上传与下载攻略 本文目标&#xff1a;帮你快速掌握文件上传 & 下载的核心实现方式&#xff0c;并在常见出错场景下保持“优雅不崩溃”。 一、文件上传 1. 基础结构 <input type"file" id"fileInput" /> <button id"uploadBtn&…

前端文件上传与下载攻略

本文目标:帮你快速掌握文件上传 & 下载的核心实现方式,并在常见出错场景下保持“优雅不崩溃”。


一、文件上传

1. 基础结构

<input type="file" id="fileInput" />
<button id="uploadBtn">上传</button>

2. 核心脚本

document.getElementById('uploadBtn').addEventListener('click', uploadFile);async function uploadFile () {const file = fileInput.files?.[0];           // ① 是否选择文件if (!file) return alert('请先选择文件!');const formData = new FormData();formData.append('file', file);try {const res = await fetch('/upload', {       // ② 发请求method: 'POST',body: formData,});if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();             // ③ 处理业务结果alert(`上传成功:${data.filename}`);} catch (err) {console.error(err);alert(`上传失败:${err.message}`);          // ④ 兜底提示}
}
⏳ 重点错误防护
  1. 未选文件if (!file) …
  2. 网络/HTTP 错误!res.ok 判定 & 抛错。
  3. 接口业务错误:后端自定义 code → 前端根据 data.code 决策 UI。
  4. 超大文件 / 类型不符:后端校验 → 返回 413/415,前端同样走 !res.ok 分支。

二、文件下载

场景 1:文件已存在静态 URL

<a href="/static/report.pdf" download="报告.pdf">下载报告</a>

场景 2:前端生成 / 动态获取文件

async function downloadDynamic () {try {// ① 拿到二进制(示例:后台生成 excel)const res = await fetch('/export/excel');if (!res.ok) throw new Error(`HTTP ${res.status}`);const blob = await res.blob();             // ② 转 blobconst url  = URL.createObjectURL(blob);    // ③ 临时链接// ④ 触发下载const a    = document.createElement('a');a.href     = url;a.download = 'data.xlsx';a.click();URL.revokeObjectURL(url);                  // ⑤ 释放内存} catch (err) {alert(`下载失败:${err.message}`);}
}
⚠️ 常见下载错误处理
错误场景浏览器表现前端防范思路
链接 404 / 403浏览器提示/空白页!res.ok 捕获 + 友好提示
权限不足返回 401/403跳登录页或提示“无权限下载”
内容空 / 后端异常文件 0 Bblob.size === 0 时提示并中断

三、实战加分 Tips

  1. 进度条
    const xhr = new XMLHttpRequest();
    xhr.upload.onprogress = e => {if (e.lengthComputable) {const percent = (e.loaded / e.total) * 100;console.log(`已上传 ${percent.toFixed(1)}%`);}
    };
    
  2. 多文件并发上传Array.from(fileInput.files).map(f => formData.append('files', f))
  3. 拖拽上传:监听 dragover / drop,获取 event.dataTransfer.files
  4. 断点续传:结合 Content-Range + 后端分片合并。
  5. 安全防护
    • 前端白名单校验 MIME / 后缀。
    • token/签名防盗链。
    • HTTPS 保障传输安全。

四、结语

实现文件上传与下载并不难,难的是在各种异常面前稳如老狗

  • 上传要三查:文件、网络、后端业务。
  • 下载要三稳:合法链接、正确权限、完整内容。
http://www.dtcms.com/wzjs/64715.html

相关文章:

  • 网站备案是针对空间还是域名seo网站排名优化软件是什么
  • 组成原理毕业设计代做网站推荐百度一下官网网址
  • WordPress不收录首页seo推广是做什么
  • 哪个软件做网站好北京seo外包公司要靠谱的
  • 那有名网站是php做的抖音优化公司
  • 做网站 搞流量新浪博客
  • 做网站用到的工具写文案接单平台
  • 网站做线支付平台系统多少钱深圳网络推广引流
  • 网站开发项目周期的石家庄今天最新新闻头条
  • wordpress 视频格式宁波专业seo服务
  • 咸宁做网站的公司那家便宜企业优化推广
  • 网站开发需要学习什么推广之家官网
  • 中建卓越建设管理有限公司网站友链价格
  • GMC中网站建设对订单有影响吗图片优化是什么意思
  • web网站开发开题报告seo软文推广
  • wordpress 仪表盘自定义网站推广优化网址
  • 餐饮企业网站建设方案书电商运营方案计划书
  • 做暧网站免费搜索引擎营销的手段包括
  • 东营网站建设如何引流推广产品
  • 数字媒体艺术与ui设计相关吗百度seo优化软件
  • 广州城市建设规划局网站手机上如何制作自己的网站
  • 启东网站建设公司百度收录比较好的网站
  • 迈肯奇迹做网站网文网站排名
  • java做网站和php网站排名优化软件有哪些
  • 黄页哪个网站好现在做推广的新渠道有哪些
  • 建设网站的相关费用百度竞价排名规则及费用
  • 浦东新区中国建设银行官网站栾城seo整站排名
  • 网站优化排名易下拉稳定合肥网站制作公司
  • 百度推广管理平台登录桔子seo工具
  • 网站建设的学习方法南平网站seo