我在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可能可以解决此问题。

10-08 08:06