今天在做一个文件下载,想下载一个.sis类型的文件。可下载的结果却总是在浏览器中直接打开了,并没有像我们平常去下载东西一样弹出一个可以选择为“打开或是保存”的文本框。搞了半天终于搞好了,现在想和大家来分享一下。
我们在编程的时候可以把html格式的文件通过servlet程序很容易的传递到客户端,我们其实也可以把很非html格式的文件通过servlet传递到客户端浏览器,如:word文档、图片、视屏等等。因为我们要向客户端传送什么格式的文件都是可以同response.setContextType()来进行设置的,如:传送word文档可以设置为:response.setContextType("application/msword")。只要是mime可以表示的类型我们都是可以通过设置传送格式通过Servlet来向客户端浏览器传送的,而不是在浏览器中直接打开。
response.setContentType()对应文件类型有:
image/bmp--BMP
image/gif--GIF
image/jpeg--JPEG
image/tiff--TIFF
image/x-dcx--DCX
image/x-pcx--PCX
text/html--HTML
text/plain--TXT
text/xml--XML
application/afp--AFP
application/pdf--PDF
application/rtf--RTF
application/msword--MSWORD
application/vnd.ms-excel--MSEXCEL
application/vnd.ms-powerpoint--MSPOWERPOIN