随笔分类 - 前端二进制文件
摘要:Nginx 本身对 Content-Length 响应头没有硬性长度限制,但其处理大响应体(即大文件或大数据流)时,会受到若干内部缓冲区和配置参数的间接限制。这些限制可能影响大文件下载、流式响应等场景。 下面详细说明 Nginx 与 Content-Length 相关的行为、潜在限制及如何调整。 ✅
阅读全文
摘要:<a> 标签配合 download 属性是前端触发文件下载的常用方式,但它存在一些重要的局限性,在实际开发中需要特别注意。以下是详细分析: ✅ 基本用法回顾 <a href="/path/to/file.pdf" download="report.pdf">下载</a> 或 JavaScript 动
阅读全文
摘要:在前后端协作实现文件下载功能时,选择 传递 URL 还是 流式返回文件内容,取决于具体场景、安全需求、性能要求以及架构设计。以下是两种方式的详细对比和适用场景建议: 一、传递 URL(前端直接请求文件地址) ✅ 优点: 简单高效:后端只需返回一个可访问的 URL(如 CDN 地址、OSS 预签名 U
阅读全文
摘要:“Data URL” 和 “Base64” 经常被混用,但它们不是同一概念,而是包含关系:Base64 是一种编码方式,Data URL 是一种 URI 格式,它可以使用 Base64 编码来嵌入数据。 下面从定义、结构、用途和区别四个方面清晰解释: ✅ 1. Base64 是什么? 本质:一种将二
阅读全文
摘要:File.prototype.stream() 和 ReadableStream.getReader(),这是现代 Web Streams API 的一部分。 虽然功能强大(支持流式处理大文件、低内存占用),但它的浏览器兼容性比 file.arrayBuffer() 更晚,需谨慎评估目标环境。 ✅
阅读全文
摘要:File.prototype.arrayBuffer() 是现代浏览器中用于将 File(或 Blob)对象异步读取为 ArrayBuffer 的原生方法,相比传统的 FileReader.readAsArrayBuffer() 更简洁、基于 Promise,且性能更好。 ✅ 浏览器兼容性(截至 2
阅读全文
摘要:URL.createObjectURL(file) 与 FileReader.readAsDataURL(file) 都可用于在浏览器中生成本地文件的可访问 URL(例如用于图片/视频预览), 但它们在实现机制、性能、内存占用和适用场景上有本质区别。以下是详细对比与最佳实践建议: 🔍 核心对比 特
阅读全文

浙公网安备 33010602011771号