技术文摘
前端分片上传时后端接收到的文件名为何是 blob
前端分片上传时后端接收到的文件名为何是 blob
在前端开发中,分片上传是一种常见的技术手段,用于解决大文件上传时可能遇到的网络问题和性能瓶颈。然而,有时会出现一种情况,即后端接收到的文件名是“blob”,这让不少开发者感到困惑。
要理解“blob”的含义。Blob是Binary Large Object的缩写,即二进制大对象。在前端,当使用分片上传时,文件会被分割成多个小块进行传输。在这个过程中,浏览器会为每个分片创建一个临时的Blob对象。Blob对象可以存储大量的二进制数据,比如图片、音频、视频等文件内容。
前端在进行分片上传时,通常会将文件切割成若干个Blob对象,然后逐个上传这些Blob分片。在这个过程中,文件名并没有被包含在每个分片中。这是因为分片上传主要关注的是文件内容的传输,而不是文件名。文件名更多地是在整个上传流程的开始和结束时起到标识作用。
当后端接收到这些分片时,由于每个分片本身并没有携带原始的文件名信息,后端只能根据接收到的数据类型来识别。而这些数据是以Blob对象的形式传输过来的,所以后端在没有额外处理的情况下,可能会将接收到的文件名识别为“blob”。
要解决这个问题,需要在前端上传时,除了传输文件分片内容,还需要额外传递文件名等相关信息。可以通过在请求头或者请求体中添加自定义字段来携带文件名。后端在接收分片时,同时获取这些额外的信息,就能正确识别文件名,而不是简单地将其识别为“blob”。
前端分片上传时后端接收到文件名是“blob”,是因为分片上传过程中主要关注文件内容的传输,文件名信息未被包含在分片中。通过合理的前端设计,在上传过程中传递文件名信息,后端就能准确获取和处理文件名,确保文件上传的完整性和正确性。
- 必学的五个 JavaScript 新特性
- AR 革新制造流程的七种途径
- Python 打造微信聊天机器人
- C 语言结构体成员赋值的深拷贝与浅拷贝
- 国庆五星红旗头像制作教程登场
- 火山引擎 RTC 自研音频编码器 NICO 的实践历程
- 五年前端经验的你,为何还犯这种简单错误,老板质问
- Go 语言官方依赖注入工具 Wire 使用指南
- Web 应用开发的演变历程是怎样的?
- 全面解析 package.json 配置
- Babel 插件:半小时从入门至实战
- ES 性能优化原理大揭秘:初看懵懂,看懂折服
- Chronicle Queue 入门指南
- JS 运行时 Inspector 能力的实现方法
- 这 8 种无代码/低代码工具,程序员也会喜欢