在制作一个简单的图片上传器时,我正在学习FileReader API。上传文件有4种格式,分别是数组缓冲区,二进制字符串,数据URL和文本,我想知道如何选择一种。
在几篇文章中,这表示当您想显示上传的图片时,数据URL是好的,而当您操纵文件时,数组缓冲区是好的。你怎么看?并且,什么时候是选择二进制字符串或文本格式的好时机?
您无需阅读文件即可上传,可以直接将其作为Blob发送。
如果需要在当前页面中显示它,则仍然不需要FileReader,请从Blob创建一个blobURI,它将直接指向磁盘上的文件,而不会浪费大量内存。
inp.Onchange= e => { // yes that's all synchronous... const url = URL.createObjectURL(inp.files[0]); const img = new Image(); img.src = url; document.body.appendChild(img); };