我在Android上使用Gmail API,但我遇到了文件附件问题。
我按照以下示例: https://developers.google.com/gmail/api/guides/sending#creating_messages_with_attachments
问题出现在这里:
String encodedEmail = Base64.encodeBase64URLSafeString(bytes.toByteArray());
我想附加一个大约8MB的视频文件,但这行显示“内存不足”错误。
发送图像文件附件时没关系。 (通常低于1MB)。
我该如何处理?
答案 0 :(得分:1)
我不知道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
可能会解决这个问题。