为什么上传的rar文件的MIME类型是application/octet-stream以及如何将其更改为application/rar?

问题描述 投票:0回答:1

我使用 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
或任何其他等效类型,以便我可以更好地处理该文件?

java spring-boot tomcat vaadin vaadin-flow
1个回答
0
投票

为什么是application/octet-stream

因为这是最通用的 MIME 类型,它可以让您以二进制流的形式获取下载的文件。这取决于您如何处理服务器上的文件。

我可以更改什么,以便 MIME 类型为 application/rar 或任何其他等效类型,以便我可以更好地处理文件?

为什么要改变它?您可以将文件作为二进制流读取,然后将其写入您选择的目录中。如果您保留文件扩展名 (*.rar),它将使用指定的应用程序打开。

© www.soinside.com 2019 - 2024. All rights reserved.