Я хочу попытаться отобразить изображение в Gmail, будучи встроенным в файл изображения. Однако изображение не будет отображать сделанное изображение.
В файле сохранения я пытаюсь сохранить файл. В createfile я пытаюсь создать путь для файла, который будет сохранен. В части try я пытаюсь сослаться на метод multimessage, который добавит части (включая изображение) в mulitpart, которая возвращается впопробуйте и отправьте получателям.
private void savefile(File file, Bitmap bitmap) throws IOException {
FileOutputStream outstream;
outstream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outstream);
outstream.flush();
outstream.close();
}
private File createfile() {
String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imagefilename = "Complaint"+timestamp+"_";
File storedir = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = null;
try {
file = File.createTempFile(imagefilename, ".png", storedir);
} catch (IOException e) {
Log.d( "mylog", "Excep : " + e.toString());
}
return file;
}
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("mailaddress"));
message.setSubject(subjectEdit.getText().toString());
//message.setText(messageEdit.getText().toString());
message.setContent(multimessage(createfile()));
new SendMailTask().execute(message);
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
private Multipart multimessage(File file) throws MessagingException {
MimeMultipart multipart = new MimeMultipart("related");
BodyPart messagebodypart = new MimeBodyPart();
String htmlText = "<img src=\"file\">";
multipart.addBodyPart(messagebodypart);
DataSource filedatasource = new FileDataSource(file);
messagebodypart.setDataHandler(new DataHandler(filedatasource));
messagebodypart.setHeader("content-ID", "file");
multipart.addBodyPart(messagebodypart);
messagebodypart = new MimeBodyPart();
messagebodypart.setContent(htmlText, "text/html");
multipart.addBodyPart(messagebodypart);
return multipart;
}