【发布时间】:2019-04-03 01:05:01
【问题描述】:
我想使用 sendgrid 函数以编程方式发送动态生成的 excel 文件。下面的java程序成功地将excel文件作为附件发送,但它发送的是excel文件的新副本(新生成的),而不是我喜欢发送的文件。请让我知道我在哪里犯错了?
public static void main(String[] args) 抛出 IOException, InvalidFormatException {
final String path = "C:\\Users\\src\\testData\\TestData.xlsx";
byte[] bFile = Files.readAllBytes(new File(path).toPath());
Attachments attachments3 = new Attachments();
Base64 x = new Base64();
String imageDataString = x.encodeAsString(bFile);
attachments3.setContent(imageDataString);
attachments3.setType("xlxs");// "application/pdf"
attachments3.setFilename("TestData.xlsx");
attachments3.setDisposition("attachment");
attachments3.setContentId("Banner");
Email from = new Email("ranjit@test.com");
String subject = "Hello World from the SendGrid Java Library!";
Email to = new Email("sachin@test.com");
Content content = new Content("text/plain", "Hello, Email!");
Mail mail = new Mail(from, subject, to, content);
mail.addAttachments(attachments3);
SendGrid sg = new SendGrid("SG.EJLRKZEvE");
Request request = new Request();
try {
request.setMethod(Method.POST);
request.setEndpoint("mail/send");
request.setBody(mail.build());
Response response = sg.api(request);
System.out.println(response.getStatusCode());
System.out.println(response.getBody());
System.out.println(response.getHeaders());
} catch (IOException ex) {
throw ex;
}
}
【问题讨论】:
-
你在stackoverflow.com/questions/38599079/…查看过类似的问题吗?此外,请检查您的附件类型。 xlsx 输入错误。通常对于 excel 电子表格 2007 及更高版本,使用的内容类型是“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”。正在尝试纠正。
-
感谢您的回复,是的,我确实检查了stackoverflow.com/questions/38599079/…。我认为,就我而言,没有发送相应的附件。并感谢您纠正包含类型
-
内容类型是“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet” 没有解决我的问题仍然没有发送本地excel文件。 @moonlighter
标签: java sendgrid sendgrid-api-v3 sendgrid-api-v2