资讯详情

java在response中设置文件流,在浏览器中直接显示或直接下载

在浏览器地址栏输入文件请求url,文件可以直接显示在浏览器上而不直接下载

设置解决方案文件ContentType类型

当设置了ContentType为“image/jpg浏览器可以直接显示图片;

没设置ContentType浏览器将直接将图片下载到本地。

注:无法设置header,否则,当设置时ContentType也是直接下载图片

/**   * 文件流加入响应体   * @param response    * @param filePath 从盘符开始的完整路径   */  private void responseFileStream(HttpServletResponse response, String filePath){   logger.debug("responseFileStream imgPath:" filePath);   if(filePath.contains("%")){    try {     filePath = URLDecoder.decode(filePath,"UTF-8");    } catch (UnsupportedEncodingException e) {     logger.debug("responseFileStream decode error:" e.toString());    }   }   if(filePath.contains("%")){    try {     filePath = URLDecoder.decode(filePath,"UTF-8");    } catch (UnsupportedEncodingException e) {     logger.debug("responseFileStream decode error:" e.toString());    }   }      ServletOutputStream out = null;   FileInputStream in = null;   try {    in = new FileInputStream(new File(filePath));    String[] dir = filePath.split("/");    String fileName = dir[dir.length-1];    String[] array = fileName.split("[.]");    String fileType = array[array.length-1].toLowerCase();    //设置文件ContentType类型    if("jpg,jepg,gif,png".contains(fileType)){//图片类型     response.setContentType("image/" fileType);    }else if("pdf".contains(fileType)){//pdf类型     response.setContentType("application/pdf");    }else{//自动判断下载文件类型      response.setContentType("multipart/form-data");    }    //设置文件头:最后一个参数是设置下载文件名          //response.setHeader("Content-Disposition", "attachment;fileName=" fileName);       out = response.getOutputStream();    // 读取文件流    int len = 0;    byte[] buffer = new byte[1024 * 10];    while ((len = in.read(buffer)) != -1) {     out.write(buffer, 0, len);    }    out.flush();   } catch (FileNotFoundException e) {    logger.error("responseFileStream error:FileNotFoundException"   e.toString());   } catch (Exception e) {    logger.error("responseFileStream error:"   e.toString());   } finally {    try {     out.close();     in.close();    } catch (NullPointerException e) {     logger.error("responseFileStream stream close() error:NullPointerException"   e.toString());    } catch (Exception e) {     logger.error("responseFileStream stream close() error:"   e.toString());    }   }  }

另外,找了ContentType对照表,附在下面:

文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流,不知道下载文件的类型) application/octet-stream .tif image/tiff 0.001 application/x-001 0.301 application/x-301 0.323 text/h323 0.906 application/x-906 0.907 drawing/907 .a11 application/x-a11 .acp audio/x-mei-aac .ai application/postscript .aif audio/aiff .aifc audio/aiff .aiff audio/aiff .anv application/x-anv .asa text/asa .asf video/x-ms-asf .asp text/asp .asx video/x-ms-asf .au audio/basic .avi video/avi .awf application/vnd.adobe.workflow .biz text/xml .bmp application/x-bmp .bot application/x-bot .c4t application/x-c4t .c90 application/x-c90 .cal application/x-cals .cat application/vnd.ms-pki.seccat .cdf application/x-netcdf .cdr application/x-cdr .cel application/x-cel .cer application/x-x509-ca-cert .cg4 application/x-g4 .cgm application/x-cgm .cit application/x-cit .class java/* .cml text/xml .cmp application/x-cmp .cmx application/x-cmx .cot application/x-cot .crl application/pkix-crl .crt application/x-x509-ca-cert .csi application/x-csi .css text/css .cut application/x-cut .dbf application/x-dbf .dbm application/x-dbm .dbx    application/x-dbx .dcd    text/xml    .dcx    application/x-dcx .der    application/x-x509-ca-cert    .dgn    application/x-dgn .dib    application/x-dib    .dll    application/x-msdownload .doc    application/msword    .dot    application/msword .drw    application/x-drw    .dtd    text/xml .dwf    Model/vnd.dwf    .dwf    application/x-dwf .dwg    application/x-dwg    .dxb    application/x-dxb .dxf    application/x-dxf    .edn    application/vnd.adobe.edn .emf    application/x-emf    .eml    message/rfc822 .ent    text/xml    .epi    application/x-epi .eps    application/x-ps    .eps    application/postscript .etd    application/x-ebx    .exe    application/x-msdownload .fax    image/fax    .fdf    application/vnd.fdf .fif    application/fractals    .fo    text/xml .frm    application/x-frm    .g4    application/x-g4 .gbr    application/x-gbr    .    application/x- .gif    image/gif    .gl2    application/x-gl2 .gp4    application/x-gp4    .hgl    application/x-hgl .hmr    application/x-hmr    .hpg    application/x-hpgl .hpl    application/x-hpl    .hqx    application/mac-binhex40 .hrf    application/x-hrf    .hta    application/hta .htc    text/x-component    .htm    text/html .html    text/html    .htt    text/webviewhtml .htx    text/html    .icb    application/x-icb .ico    image/x-icon    .ico    application/x-ico .iff    application/x-iff    .ig4    application/x-g4 .igs    application/x-igs    .iii    application/x-iphone .img    application/x-img    .ins    application/x-internet-signup .isp    application/x-internet-signup    .IVF    video/x-ivf .java    java/*    .jfif    image/jpeg .jpe    image/jpeg    .jpe    application/x-jpe .jpeg    image/jpeg    .jpg    image/jpeg .jpg    application/x-jpg    .js    application/x-javascript .jsp    text/html    .la1    audio/x-liquid-file .lar    application/x-laplayer-reg    .latex    application/x-latex .lavs    audio/x-liquid-secure    .lbm    application/x-lbm .lmsff    audio/x-la-lms    .ls    application/x-javascript .ltr    application/x-ltr    .m1v    video/x-mpeg .m2v    video/x-mpeg    .m3u    audio/mpegurl .m4e    video/mpeg4    .mac    application/x-mac .man    application/x-troff-man    .math    text/xml .mdb    application/msaccess    .mdb    application/x-mdb .mfp    application/x-shockwave-flash    .mht    message/rfc822 .mhtml    message/rfc822    .mi    application/x-mi .mid    audio/mid    .midi    audio/mid .mil    application/x-mil    .mml    text/xml .mnd    audio/x-musicnet-download    .mns    audio/x-musicnet-stream .mocha    application/x-javascript    .movie    video/x-sgi-movie .mp1    audio/mp1    .mp2    audio/mp2 .mp2v    video/mpeg    .mp3    audio/mp3 .mp4    video/mpeg4    .mpa    video/x-mpg .mpd    application/vnd.ms-project    .mpe    video/x-mpeg .mpeg    video/mpg    .mpg    video/mpg .mpga    audio/rn-mpeg    .mpp    application/vnd.ms-project .mps    video/x-mpeg    .mpt    application/vnd.ms-project .mpv    video/mpg    .mpv2    video/mpeg .mpw    application/vnd.ms-project    .mpx    application/vnd.ms-project .mtx    text/xml    .mxp    application/x-mmxp .net    image/pnetvue    .nrf    application/x-nrf .nws    message/rfc822    .odc    text/x-ms-odc .out    application/x-out    .p10    application/pkcs10 .p12    application/x-pkcs12    .p7b    application/x-pkcs7-certificates .p7c    application/pkcs7-mime    .p7m    application/pkcs7-mime .p7r    application/x-pkcs7-certreqresp    .p7s    application/pkcs7-signature .pc5    application/x-pc5    .pci    application/x-pci .pcl    application/x-pcl    .pcx    application/x-pcx .pdf    application/pdf    .pdf    application/pdf .pdx    application/vnd.adobe.pdx    .pfx    application/x-pkcs12 .pgl    application/x-pgl    .pic    application/x-pic .pko    application/vnd.ms-pki.pko    .pl    application/x-perl .plg    text/html    .pls    audio/scpls .plt    application/x-plt    .png    image/png .png    application/x-png    .pot    application/vnd.ms-powerpoint .ppa    application/vnd.ms-powerpoint    .ppm    application/x-ppm .pps    application/vnd.ms-powerpoint    .ppt    application/vnd.ms-powerpoint .ppt    application/x-ppt    .pr    application/x-pr .prf    application/pics-rules    .prn    application/x-prn .prt    application/x-prt    .ps    application/x-ps .ps    application/postscript    .ptn    application/x-ptn .pwz    application/vnd.ms-powerpoint    .r3t    text/vnd.rn-realtext3d .ra    audio/vnd.rn-realaudio    .ram    audio/x-pn-realaudio .ras    application/x-ras    .rat    application/rat-file .rdf    text/xml    .rec    application/vnd.rn-recording .red    application/x-red    .rgb    application/x-rgb .rjs    application/vnd.rn-realsystem-rjs    .rjt    application/vnd.rn-realsystem-rjt .rlc    application/x-rlc    .rle    application/x-rle .rm    application/vnd.rn-realmedia    .rmf    application/vnd.adobe.rmf .rmi    audio/mid    .rmj    application/vnd.rn-realsystem-rmj .rmm    audio/x-pn-realaudio    .rmp    application/vnd.rn-rn_music_package .rms    application/vnd.rn-realmedia-secure    .rmvb    application/vnd.rn-realmedia-vbr .rmx    application/vnd.rn-realsystem-rmx    .rnx    application/vnd.rn-realplayer .rp    image/vnd.rn-realpix    .rpm    audio/x-pn-realaudio-plugin .rsml    application/vnd.rn-rsml    .rt    text/vnd.rn-realtext .rtf    application/msword    .rtf    application/x-rtf .rv    video/vnd.rn-realvideo    .sam    application/x-sam .sat    application/x-sat    .sdp    application/sdp .sdw    application/x-sdw    .sit    application/x-stuffit .slb    application/x-slb    .sld    application/x-sld .slk    drawing/x-slk    .smi    application/smil .smil    application/smil    .smk    application/x-smk .snd    audio/basic    .sol    text/plain .sor    text/plain    .spc    application/x-pkcs7-certificates .spl    application/futuresplash    .spp    text/xml .ssm    application/streamingmedia    .sst    application/vnd.ms-pki.certstore .stl    application/vnd.ms-pki.stl    .stm    text/html .sty    application/x-sty    .svg    text/xml .swf    application/x-shockwave-flash    .tdf    application/x-tdf .tg4    application/x-tg4    .tga    application/x-tga .tif    image/tiff    .tif    application/x-tif .tiff    image/tiff    .tld    text/xml .top    drawing/x-top    .torrent    application/x-bittorrent .tsd    text/xml    .txt    text/plain .uin    application/x-icq    .uls    text/iuls .vcf    text/x-vcard    .vda    application/x-vda .vdx    application/vnd.visio    .vml    text/xml .vpg    application/x-vpeg005    .vsd    application/vnd.visio .vsd    application/x-vsd    .vss    application/vnd.visio .vst    application/vnd.visio    .vst    application/x-vst .vsw    application/vnd.visio    .vsx    application/vnd.visio .vtx    application/vnd.visio    .vxml    text/xml .wav    audio/wav    .wax    audio/x-ms-wax .wb1    application/x-wb1    .wb2    application/x-wb2 .wb3    application/x-wb3    .wbmp    image/vnd.wap.wbmp .wiz    application/msword    .wk3    application/x-wk3 .wk4    application/x-wk4    .wkq    application/x-wkq .wks    application/x-wks    .wm    video/x-ms-wm .wma    audio/x-ms-wma    .wmd    application/x-ms-wmd .wmf    application/x-wmf    .wml    text/vnd.wap.wml .wmv    video/x-ms-wmv    .wmx    video/x-ms-wmx .wmz    application/x-ms-wmz    .wp6    application/x-wp6 .wpd    application/x-wpd    .wpg    application/x-wpg .wpl    application/vnd.ms-wpl    .wq1    application/x-wq1 .wr1    application/x-wr1    .wri    application/x-wri .wrk    application/x-wrk    .ws    application/x-ws .ws2    application/x-ws    .wsc    text/scriptlet .wsdl    text/xml    .wvx    video/x-ms-wvx .xdp    application/vnd.adobe.xdp    .xdr    text/xml .xfd    application/vnd.adobe.xfd    .xfdf    application/vnd.adobe.xfdf .xhtml    text/html    .xls    application/vnd.ms-excel .xls    application/x-xls    .xlw    application/x-xlw .xml    text/xml    .xpl    audio/scpls .xq    text/xml    .xql    text/xml .xquery    text/xml    .xsd    text/xml .xsl    text/xml    .xslt    text/xml .xwd    application/x-xwd    .x_b    application/x-x_b .sis    application/vnd.symbian.install    .sisx    application/vnd.symbian.install .x_t    application/x-x_t    .ipa    application/vnd.iphone .apk    application/vnd.android.package-archive    .xap    application/x-silverlight-app

 

标签: lb32lbm船舱液位传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台