我在 Android 上使用 Gmail API,但遇到文件附件问题。
我按照下面的例子: https://developers.google.com/gmail/api/guides/sending#creating_messages_with_attachments
问题出现在这里:
String encodedEmail = Base64.encodeBase64URLSafeString(bytes.toByteArray());
我想附加一个大约 8MB 的视频文件,但是这一行显示“内存不足”错误。
当我发送图像文件附件时没问题。 (通常低于 1MB)。
我该如何处理?
最佳答案
我不了解 android,所以我可能离题太远了,但他们的代码显示:
mimeBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileDir + filename);
mimeBodyPart.setDataHandler(new DataHandler(source));
mimeBodyPart.setFileName(filename);
String contentType = Files.probeContentType(FileSystems.getDefault()
.getPath(fileDir, filename));
您正在直接对 base64
进行编码,这会分解成一个相当大的字符串。 FileDataSource
可能会解决这个问题。
关于android - Gmail API 和附件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37670029/