HTML5:Anchor href太大而无法触发下载属性?

时间:2018-09-16 03:15:44

标签: javascript node.js html5

我正在创建聊天室的发送文件功能。我使用的语言是nodejs(socket.io)和js。

我的解决方法是

  1. 使用javacript fileReaderArrayBuffer的形式读取chrunks中的文件,并将片段传输到服务器,服务器收集数据直到收集所有数据。

  2. ArrayBuffer发送回其他客户端。

  3. 在客户端,将ArrayBuffer转换为base64String,并根据MIME类型添加前缀,例如data:application/pdf;base64,

  4. 将此base64String插入到<a href='{thisBase64String}' download></a>中。

当前,它仅适用于大小小于2MB的pdf文件,download属性不适用于超过10MB的fileSize。

我的猜测是href的大小过长导致了问题,是否有解决此问题的主意?

我知道我可以先使用fs.write打印上载的文件,然后链接到目录。但是由于它是聊天室,所以我希望我能播出一切。无需花费时间来维护服务器,不是吗?

0 个答案:

没有答案