在我的应用程序中,我喜欢提供文件下载功能。我将文件类型设置为response.setContentType。如何为几乎所有已知的文件类型设置内容类型?有没有简单的方法?或者我需要像现在这样手动设置它,如下所示。在java中设置文件下载的内容类型
if (pictureName.indexOf("jpg") > 0) {
res.setContentType("image/jpg");
} else if (pictureName.indexOf("gif") > 0) {
res.setContentType("image/gif");
} else if (pictureName.indexOf("pdf") > 0) {
res.setContentType("application/pdf");
res.setHeader("Content-Disposition", "inline; filename=\"" + pictureName + "\"");
} else if (pictureName.indexOf("html") > 0) {
res.setContentType("text/html");
} else if (pictureName.indexOf("zip") > 0) {
res.setContentType("application/zip");
res.setHeader("Content-Disposition", "attachment; filename=\"" + pictureName + "\"");
}
谢谢:)
您的容器(例如Tomcat)的通常会提供这样的逻辑,例如:http:// www.developershome.com/wap/wapServerSetup/tutorial.asp?page=settingUpMIME - 你想重写这个吗? – Pool 2010-02-11 14:11:17
好问题。建议:不要说“请帮助”。人们在这里帮助(并且从别人的问题中学习和自己学习),不需要强调这一点。我看到人们(不恰当地,在我看来!)实际上只是为了说“请帮助”而使人们退缩。奇怪但真实。 – 2010-02-11 14:12:00
题外话:这段代码有点脆弱,不是吗?如果'pictureName'是“gifford.pdf”呢? – 2010-02-11 14:13:20