android - 将 base64 编码的字符串存储为文件

标签 android pdf base64 ksoap

我有一个返回 PDF 文件的 base64 编码字符串的网络服务。

我想将此文件保存到 SD 卡中。但是当我尝试这样做时,adobe reader 告诉我文件已损坏。显然我没有正确保存它。

byte[] pdfAsBytes = Base64.decode(resultsRequestSOAP.toString(), 0);

File filePath = new File(Environment.getExternalStorageDirectory()+"/braodcasts.pdf");
FileOutputStream os = new FileOutputStream(filePath, true);
os.write(pdfAsBytes);
os.close();

resultsRequestSOAP.toString() 看起来像这样:

JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbi1JRSkgPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbIDMgMCBSXSA+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUj4+L0V4dEdTdGF0ZTw8L0dTNyA3IDAgUi9HUzggOCAwIFI+Pi9YT2JqZWN0PDwvSW1hZ2U5IDkgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNTk1LjMyIDQxOS41Ml0gL0NvbnRlbnRzIDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1M+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE0ND4+DQpzdHJlYW0NCnicLY29CgIxEIT7hX2HKVVw3ewluUsr/qCdGLAQC5HzqlPU9wdjcKaaYZhvmZkWGwfnRD3ynclBix18l6T0TRJ1yGOZbY8thg+TYqip+6ct03mC6QV5z7Quhy+muYpWWWjhLEqKCClIYzBTCRHvnuk0w4PJuyi+Uk07MbRWsWV6+2F343XoE1ZPHJi+nDkiaw0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvQUJDREVFK0NhbGlicmkvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDYgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhc

这只是一个 fragment !

谢谢

最佳答案

也许您可以在关闭 FileOutputStream 之前刷新它。

os.write(pdfAsBytes);
os.flush();
os.close();

关于android - 将 base64 编码的字符串存储为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268591/

相关文章:

android - 减小 APK 大小 - 仅为特定平台构建 so 文件

pdf - apache solr 索引上不支持/禁用的操作 EI

ios - 如何控制页面显示为在 iOS 的 UIWebView 中加载的 PDF(转到页面)

c++ - 在tensorflow c++中是否有将base64字符串解码为张量的函数?

javascript - 连接两个 base64 URL 字符串(图像)

android - 如何使形状按比例放大并在 android 中保持该大小?

Android - 绑定(bind)到服务

javascript - Img 源设置为数据不起作用

android - 如果一个文本行很长,如何使盒子中的弹性 flutter 以使每一行居中?

java - 使用 Java 打印到非默认打印机的标签打印机