我想尝试在Gmail中显示图片,同时将其嵌入为图片文件。但是,该图像不会显示所拍摄的照片。
在savefile中,我尝试保存文件。 在createfile中,我尝试为要存储的文件创建路径。 在try部分中,我尝试引用multimessage方法,该方法会将部分(包括图像)添加到mulitpart中,并返回到try中,然后发送给接收者。
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;
}