Android如何将图像byte []作为附件附加到电子邮件中?

时间:2017-04-22 19:30:06

标签: java c# android email xamarin

我在Xamarin中写这个,但答案可能是Android Java(我翻译)或Xamarain。

我有一个类似图像的gif内容的c#字节数组(命名附件),因此我无法将其转换为图像对象,因为内部的内容将丢失。可以将其视为文件的字节数组。我想将此图片附加到电子邮件中。我有以下代码。

//Create the email intent.
Intent emailIntent = new Intent(Intent.ActionSend);

//Add a flag to let the system know it can start this activity.
emailIntent.AddFlags(ActivityFlags.NewTask);

//Put the subject in the email.
emailIntent.PutExtra(Intent.ExtraSubject, subject);

//Put the body in the email.
emailIntent.PutExtra(Intent.ExtraText, body);

//Add the attachment.
emailIntent.PutExtra(Intent.ExtraStream, attachment);

//Set the intent type to the intent type of the email.
emailIntent.SetType("message/rfc822");

//Create a chooser intent to ask the user to choose the application for email.
Intent finalIntent = Intent.CreateChooser(emailIntent, "Send Email");

当我点击代码时,它要求提供电子邮件程序,我选择了GMail,我看到了我的主题和正文,但没有附件。

如何将字节数组附加到电子邮件中以使其附加?

修改 这个问题被标记为重复。这就是为什么这个问题与How to attach a Bitmap when launching ACTION_SEND intent

不同的原因

那个问题: 1.涉及发送位图。我没有位图,而是内存字节数组。如上所述,我无法将此字节数组转换为位图图像,因为内部的内容将被压缩和修改。即使我可以让位图不被修改,该问题中的每个答案都会在位图上运行.compress。 2.为了安全起见,不应将此字节数组保存到设备中。我生成字节数组并将其发送出去。我需要一种方法将它附加到内存中,而不是将其保存到文件系统。

0 个答案:

没有答案