【发布时间】:2020-01-18 11:23:08
【问题描述】:
我从后端获取字符串的 base64,然后我在 Javascript 中对其进行解码以显示在浏览器上。
此字符串可以是任何文件 .pdf、.img、.docx、.zip 等。
我的 base64 字符串不包括 mime 类型,例如 'data:application/pdf;base64' 部分。所以我需要得到 base64 的 mime 类型。
有没有办法用 Javascript 或 Jquery 解决这个问题?
【问题讨论】:
-
base64 编码的字符串可以包含任何内容,您需要提前知道其 MIME 类型才能正确解码。因此,除非您尝试将字符串解码为所有已知的有效文件类型(这不是一个真正可行的解决方案),否则无法执行您需要的操作。今后您需要在编码字符串上保留 MIME 类型前缀。
-
我到处搜索它,但有些人可以从该字符串中获取信息。 'functionguessImageMime(data){ if(data.charAt(0)=='/'){ return "image/jpeg"; }else if(data.charAt(0)=='R'){ return "image/gif"; }else if(data.charAt(0)=='i'){ return "image/png"; } }' 谢谢你的回答。
-
如果您发布一个指向您从哪里获取该代码的链接以及
guessImageMime()中的逻辑将会很有帮助。线索可能就在名称中——“猜测”——所以它可能正在检查我之前提到的所有预期文件类型。 -
你知道这个网站吗? base64.guru/converter/decode/file 它正在解码您添加的任何字符串并告诉 MIME 类型。怎么会这样?如果在 javascript 中是不可能的,那么其他语言呢?
标签: javascript jquery base64 mime-types content-type