我使用 Vaadin 24 和 Spring Boot 3.x 以及 Tomcat 作为 servlet 容器。当我尝试使用 Vaadin 组件 Upload 上传文件时,上传文件的 MIME 类型为
application/octet-stream
,而我期望 application/rar
为 rar 文件(或任何其他等效项,如 application/vnd.rar
或 application/x-rar-compressed
)。还值得注意的是,我在 Windows 操作系统上使用 Firefox Web 浏览器。
我为
Upload
组件设置了成功侦听器,如下所示
addSucceededListener(success -> {
val receiver = (MemoryBuffer) this.getReceiver();
val length = success.getContentLength();
val fileName = success.getFileName();
val mime = success.getMIMEType(); // mime type is application/octet-stream
...
});
为什么是
application/octet-stream
?我可以更改什么,所以 MIME 类型是 application/rar
或任何其他等效类型,以便我可以更好地处理该文件?
为什么是application/octet-stream
因为这是最通用的 MIME 类型,它可以让您以二进制流的形式获取下载的文件。这取决于您如何处理服务器上的文件。
我可以更改什么,以便 MIME 类型为 application/rar 或任何其他等效类型,以便我可以更好地处理文件?
为什么要改变它?您可以将文件作为二进制流读取,然后将其写入您选择的目录中。如果您保留文件扩展名 (*.rar),它将使用指定的应用程序打开。