gpt4 book ai didi

java - 附加文件上传进度

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

我使用javamail api从java应用程序发送带有附件的电子邮件,这很简单。

File f= new File(file);
MimeBodyPart mbp2 = new MimeBodyPart();

try {
mbp2.attachFile(f);
} catch (IOException e) {
e.printStackTrace();
}



Multipart mp= new MimeMultipart();
mp.addBodyPart(mbp2);

message.setContent(mp);

但我想知道的是如何知道我的附件的上传进度,与httpclient不同,我找不到要写入的输出流!谢谢!

最佳答案

查看方法实现。

public void attachFile(File file) throws IOException, MessagingException {
FileDataSource fds = new FileDataSource(file);
this.setDataHandler(new DataHandler(fds));
this.setFileName(fds.getName());
}

您需要使用跟踪文件上传的自定义实现来覆盖 FileDataSource。

您应该重写 getInputStream() 方法以返回一个 FilterOutputStream 来计算读取的字节数。 Apache commons-io 有 CountingInputStream可以完成这项工作的类。

然后您只需将读取的字节数与文件长度进行比较即可获得进展。

关于java - 附加文件上传进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074465/

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