我在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.为了安全起见,不应将此字节数组保存到设备中。我生成字节数组并将其发送出去。我需要一种方法将它附加到内存中,而不是将其保存到文件系统。