vertx Java 下载文件名特殊字符

vitbeo30

我正在通过 Java 和 vertx 编写一个简单的文件下载,但我无法获得正确的文件名,例如:gadže zèleno_iscusinţă.pdf(这是罗马尼亚语)

这是我的代码:

ctx.response()
        .putHeader(HttpHeaders.CONTENT_TYPE, contenype)
        .putHeader("Content-Disposition", String.format(inline; filename="gadže zèleno_iscusinţă.pdf")
        .putHeader(HttpHeaders.TRANSFER_ENCODING, "chunked")
        .sendFile(filePath).end();

使用此代码使下载文件名格式错误:

gad-e zèleno_iscusin--.pdf

我尝试使用 URLEncoder.encode() 来结束文件名的编码:

.putHeader("Content-Disposition", String.format(inline; filename=URLEncoder.encode("gadže zèleno_iscusinţă.pdf"))

但它使所有空间都变成了“+”,这并不好:(。gadže+zèleno_iscusinţă.pdf

有谁知道以正确格式制作此名称的任何方法?请帮忙...

vitbeo30

我做到了……使用 UTF-8 和 ISO-8859-1。代码将是这样的。

String fileName = "gadže zèleno_iscusinţă.pdf";

String encodeFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");

ctx.response()
        .putHeader(HttpHeaders.CONTENT_TYPE, contenype)
        .putHeader("Content-Disposition", encodeFileName)
        .putHeader(HttpHeaders.TRANSFER_ENCODING, "chunked")
        .sendFile(filePath).end();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vertx WebClient 下载文件

来自分类Dev

文件名Java中的特殊字符

来自分类Dev

使用Java下载文件时如何获取原始文件名

来自分类Dev

c#尝试使用WebClient下载文件名中包含特殊字符的文件

来自分类Dev

Vertx - 限制上传文件类型

来自分类Dev

Vertx 默认配置文件

来自分类Dev

用特殊路径名在Java中加载文件

来自分类Dev

如何使用Java 8运行Vertx

来自分类Dev

Vertx:将数据从html发布到Java

来自分类Dev

依赖注入/ ORM在Vertx为Java

来自分类Dev

Vertx Java-使用Compose排序代码

来自分类Dev

Vertx:将数据从html发布到Java

来自分类Dev

下载文件,文件名

来自分类Dev

下载文件,文件名

来自分类Dev

从NSURLSession下载文件名

来自分类Dev

是否有需要处理的功能?在vertx java上的mysql

来自分类Dev

来自 Vertx 和 AMQPBridge 的 Java 运行时警告

来自分类Dev

Java SAX读取带有元字符的文件名

来自分类Dev

通过循环更改文件名(字符串)-Java

来自分类Dev

使用Java从Sharepoint下载文件

来自分类Dev

从Java servlet下载文件为null

来自分类Dev

如何使用Java Spark下载文件?

来自分类Dev

使用Java从MediaFire下载文件

来自分类Dev

下载文件时如何设置文件名?

来自分类Dev

如何下载文件名已更改的文件?

来自分类Dev

下载文件时不知道文件名

来自分类Dev

使用PowerShell读取下载文件的文件名

来自分类Dev

在Jhipster(java + angular)的下载过程中如何更改文件名

来自分类Dev

寻找说明如何在春季启动中整合vertx的文件