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