public FileDownloadController() {
InputStream stream = ((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()).getResourceAsStream("/images/optimusprime.jpg");
file = new DefaultStreamedContent(stream, "image/jpg", "downloaded_optimus.jpg");
}
有什么想法可以解决我的问题吗?
谢谢,提前。
这个问题在即将发布的PrimeFaces6.2中得到了修正,但是对于早期版本,需要应用下面的修正。在评论下面的一个链接中,提到了一个PrimeFaces问题,其中包含以下修复对Chrome、IE和Opera有效,但对FireFox无效的信息(没有提到版本,也没有提到“Edge”)
变通办法
尝试将文件名编码为application/x-www-form-urlencoded
MIME格式(URLEncoder)。
public StreamedContent getFileDown () {
// Get current position in file table
this.currentPosition();
attachments = getAttachments();
Attachment a = getAttachmentByPosition( pos, attachments );
FileNameMap fileNameMap = URLConnection.getFileNameMap();
// Detecting MIME type
String mimeType = fileNameMap.getContentTypeFor(a.getAttachmentName());
String escapedFilename = "Unrecognized!!!";
try {
// Encoding
escapedFilename = URLEncoder.encode(a.getAttachmentName(), "UTF-8").replaceAll(
"\\+", "%20");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
// Preparing streamed content
fileDown = new DefaultStreamedContent( new ByteArrayInputStream( a.getAttachment() ),
mimeType, escapedFilename);
return fileDown;
}
问题内容: 我有一个包含几个文件的目录,其中许多文件具有非英语名称。我在Windows 7中使用PHP。 我想使用PHP列出文件名及其内容。 目前,我正在使用和。这适用于英文文件名,但不适用于非英文(中文)文件名。 例如,我的文件名如“ए로औरप्रोब्लेम。eml”,“ hello鶨鹙鵨鶣鎹蓥.eml”。 无法使用获取文件名 即使我在其参数中硬编码文件名,也无法打开。 我该怎么做? 问题答案
我试图使用os.walk()获取文件夹中的所有文件,我使用的代码是: 我正试图通过打印根目录和文件名(如下所示)来消除这个问题,但偶尔会有一个损坏的“文件名”,比如“File4 name.rtf”。我有与“~$le4 name.rtf”相同的文件的另一个版本。问题是在这一步之后,我正在读取所有文件以提取文本,但在读取这些文件时,在名称旁边带有“~$”的文件时出现了一个错误。 下面,我尝试介绍所有不
问题内容: 我使用Eclipse在Windows 7中创建了一个jar文件。当我尝试打开jar文件时,它说jar文件无效或损坏。谁能建议我为什么jar文件无效? 问题答案: 当您在Windows资源管理器中双击一个JAR文件时,会发生这种情况,但是JAR本身实际上不是 可执行的 JAR。真正的可执行JAR至少应具有带有方法的类,并在中引用它。 在Eclispe中,您需要将项目导出为 Runnabl
问题内容: 我编写Python脚本来复制文件;不幸的是,由于文件名太长(> 256),它一直失败。反正有解决这个问题的办法吗? 我正在使用Python 2.5.4和Windows XP。 干杯, 问题答案: 使用以字符串开头的路径。
问题内容: 我在这篇文章中找到了这个ZipUtils类: 如何使用java压缩文件夹本身 我对其进行了修改,以便可以传递一个zip文件名。但是,它的唯一工作方式是使用硬编码的静态字符串。从数据库中获取zippedFile字符串。我已经将dbZippedFile和hardcodedZippedFile进行了比较,它们都是相同的……也许在FileOutputStream中使用非静态字符串会产生问题吗?
我正在使用apache poi,我创建了一个HSSF工作簿,并尝试打开一个xlsx文件。但当我用excel打开时,它显示文件已损坏。这是我的密码。