在Internet Explorer浏览器(IE 10)中,当我尝试存储base64编码数据时,db.putAttachment()函数会抛出以下错误。
db.putAttachment( id, attachmentTitle, attachmentBase64EncodedData, attachmentType);
message "Some query argument is invalid"
name "badarg"
reason "Attachments need to be base64 encoded"
status 500
从服务器检索尝试存储为附件的base64编码数据。
相同的代码在Chrome中完美运行。
答案 0 :(得分:0)
看来,IE10不支持PouchDB的Base64选项,所以请尝试使用Blob。
答案 1 :(得分:0)
当您向PouchDB提供附件时,您需要将它们提供为1)base64编码的字符串,或2)Blob。您的错误表示您传入了一个字符串,但它不是base64编码的。
我建议您尝试the PouchDB guide to attachments中的实时代码示例。他们肯定在IE10中工作。 :)
另外FWIW如果你将Blob传递给PouchDB而不是base64编码的字符串(如果你可以避免它的话,那么效率更高!)。