这个问题在这里已有答案:
我正在查询salesforce的一些附件数据,它以二进制格式返回数据 .
我试图将它转换为base64,但到目前为止我还是很不成功 . 我尝试了 btoa()
方法,但它返回 the The string to be encoded contains characters outside of the Latin1 range.
错误 .
我尝试使用fileReader方法,即 readAsDataURL()
,它返回base64字符串,但不幸的是,它不代表图像 .
请你帮我解决一下如何将数据的二进制形式转换为base64encoded字符串?
Edit 最终,我想在网页上显示我正在获取的数据,我无法做到这一点
1 回答
如果要从服务器检索该图像,则可以选择从服务器转换为base64(并将其准备好提供给客户端),或者需要从服务器传递图像的URL,然后读取并转换为来自客户端javascript的base64 . 但是如果从服务器到客户端检索该二进制文件,客户端将无法解析它,因为数据因错误的发送方法而损坏 .
Example converting a URL to base64 (with Canvas or FileReader):
Conversion Fiddle:
http://jsfiddle.net/handtrix/yvq5y/