利用struts2下载文件 需要在struts.xml中配置
<result type="stream">
<param name="contentType">application/powerpoint</param>
<param name="contentDisposition">fileName="123.ppt"</param>
<param name="inputName">downloadFile</param>
</result>
其中contentType 是指的下载文件的类型 现在需求是这个类型是动态的  不一定每次都是ppt  这种情况怎么办 是不是可以在代码里更改struts.xml中的某些属性  另外如果返回的是text 或者jpg 会直接在浏览器中显示出来  我想要他们能像其他文件一样出一个下载提示框  这个怎么弄

解决方案 »

  1.   

    这个你要在form单中放置javascript
      

  2.   

    contentType设置成application/octet-stream,任何文件类型都可以了
      

  3.   

    要出现下载提示框,加上这个
    <param name="contentDisposition">attachment;filename="${fileName}"</param> 
      

  4.   

    你在读取资源文件时候判断下后缀名然后 你写个方法对照一下不同的MIME类型的名字  ,tomcat的 server.xml文件中好像有几乎全部的MIME类型名  你通过那个比较一下咯 确定下类型不就完啦...这几个属性都可以在程序里指定,并不是写死的
      

  5.   

    MIME映射类型 是在tomcat的web.xml 中定义的 <!-- ===================== Default MIME Type Mappings =================== -->
        <mime-mapping>
            <extension>abs</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>ai</extension>
            <mime-type>application/postscript</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>aif</extension>
            <mime-type>audio/x-aiff</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>aifc</extension>
            <mime-type>audio/x-aiff</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>aiff</extension>
            <mime-type>audio/x-aiff</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>aim</extension>
            <mime-type>application/x-aim</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>art</extension>
            <mime-type>image/x-jg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>asf</extension>
            <mime-type>video/x-ms-asf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>asx</extension>
            <mime-type>video/x-ms-asf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>au</extension>
            <mime-type>audio/basic</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>avi</extension>
            <mime-type>video/x-msvideo</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>avx</extension>
            <mime-type>video/x-rad-screenplay</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>bcpio</extension>
            <mime-type>application/x-bcpio</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>bin</extension>
            <mime-type>application/octet-stream</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>bmp</extension>
            <mime-type>image/bmp</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>body</extension>
            <mime-type>text/html</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>cdf</extension>
            <mime-type>application/x-cdf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>cer</extension>
            <mime-type>application/x-x509-ca-cert</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>class</extension>
            <mime-type>application/java</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>cpio</extension>
            <mime-type>application/x-cpio</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>csh</extension>
            <mime-type>application/x-csh</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>css</extension>
            <mime-type>text/css</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>dib</extension>
            <mime-type>image/bmp</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>doc</extension>
            <mime-type>application/msword</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>dtd</extension>
            <mime-type>application/xml-dtd</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>dv</extension>
            <mime-type>video/x-dv</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>dvi</extension>
            <mime-type>application/x-dvi</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>eps</extension>
            <mime-type>application/postscript</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>etx</extension>
            <mime-type>text/x-setext</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>exe</extension>
            <mime-type>application/octet-stream</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>gif</extension>
            <mime-type>image/gif</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>gtar</extension>
            <mime-type>application/x-gtar</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>gz</extension>
            <mime-type>application/x-gzip</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>hdf</extension>
            <mime-type>application/x-hdf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>hqx</extension>
            <mime-type>application/mac-binhex40</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>htc</extension>
            <mime-type>text/x-component</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>htm</extension>
            <mime-type>text/html</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>html</extension>
            <mime-type>text/html</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>hqx</extension>
            <mime-type>application/mac-binhex40</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>ief</extension>
            <mime-type>image/ief</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jad</extension>
            <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jar</extension>
            <mime-type>application/java-archive</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>java</extension>
            <mime-type>text/plain</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jnlp</extension>
            <mime-type>application/x-java-jnlp-file</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jpe</extension>
            <mime-type>image/jpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jpeg</extension>
            <mime-type>image/jpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jpg</extension>
            <mime-type>image/jpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>js</extension>
            <mime-type>text/javascript</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jsf</extension>
            <mime-type>text/plain</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>jspf</extension>
            <mime-type>text/plain</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>kar</extension>
            <mime-type>audio/x-midi</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>latex</extension>
            <mime-type>application/x-latex</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>m3u</extension>
            <mime-type>audio/x-mpegurl</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mac</extension>
            <mime-type>image/x-macpaint</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>man</extension>
            <mime-type>application/x-troff-man</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mathml</extension>
            <mime-type>application/mathml+xml</mime-type> 
        </mime-mapping>
        <mime-mapping>
            <extension>me</extension>
            <mime-type>application/x-troff-me</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mid</extension>
            <mime-type>audio/x-midi</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>midi</extension>
            <mime-type>audio/x-midi</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mif</extension>
            <mime-type>application/x-mif</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mov</extension>
            <mime-type>video/quicktime</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>movie</extension>
            <mime-type>video/x-sgi-movie</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mp1</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mp2</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mp3</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mp4</extension>
            <mime-type>video/mp4</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpa</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpe</extension>
            <mime-type>video/mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpeg</extension>
            <mime-type>video/mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpega</extension>
            <mime-type>audio/x-mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpg</extension>
            <mime-type>video/mpeg</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>mpv2</extension>
            <mime-type>video/mpeg2</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>ms</extension>
            <mime-type>application/x-wais-source</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>nc</extension>
            <mime-type>application/x-netcdf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>oda</extension>
            <mime-type>application/oda</mime-type>
        </mime-mapping>
        <mime-mapping>
            <!-- OpenDocument Database -->
            <extension>odb</extension>
            <mime-type>application/vnd.oasis.opendocument.database</mime-type>
        </mime-mapping>
        <mime-mapping>
            <!-- OpenDocument Chart -->
            <extension>odc</extension>
            <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
        </mime-mapping>
            。。//自己去看吧