gpt4 book ai didi

java - 将 xlsx 编码为 base64 并将其作为附件发送

转载 作者:行者123 更新时间:2023-12-01 23:39:18 25 4
gpt4 key购买 nike

我有一个作业,需要创建一个 .xlsx 并将其转换为 Base64,该文件将作为电子邮件 Web 服务中的附件发送。将 .xlsx 转换为 Base64 的代码如下:

import java.io.*;

import org.apache.commons.codec.binary.Base64;

public class Test {
public static void main(String [] args) {

String fileName = "C:/Users/kk.txt";

try {
byte[] buffer = new byte[1000];

FileInputStream inputStream =
new FileInputStream(fileName);

int total = 0;
int nRead = 0;
String reference=null;
while((nRead = inputStream.read(buffer)) != -1) {
String name=(new String(buffer));
byte[] encodedBytes = Base64.encodeBase64(name.getBytes());

System.out.println(new String(encodedBytes));

}

inputStream.close();

System.out.println("Read " + total + " bytes");
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" +
fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
// Or we could just do this:
// ex.printStackTrace();
}
}
}

但是当我使用 BPEL 将其作为邮件发送时,并且当我打开文件时,它显示一般输入/输出错误。但是当我将其作为文本发送时,它工作正常。我应该不使用此代码进行Excel 或哪里错了。我对java 完全陌生。

最佳答案

好吧 - 我的猜测是您没有更改为附件创建的电子邮件的 mimetype 等功能(默认为 text/html )。

看看here - 这是一个单词文档 - 但概述了我认为你应该做的事情(假设我找到了正确类型的 BPEL)

对于您的文件类型“.xlsx”,this table显示适当的 mime 类型就像

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

关于java - 将 xlsx 编码为 base64 并将其作为附件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18201560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com