springmvc后台获取图片,到jsp页面显示
来源:互联网 发布:金字塔程序化交易软件 编辑:程序博客网 时间:2024/05/29 14:43
1,jsp页面,img的url动态设定
<img id='bomimg' alt="" >
$("#bomimg").attr("src", basepath+"biz/itemmanager/bizitembomimg/getBomImg/" + node.id);
2,后台,
需要引入jar包
代码段
<span style="white-space:pre"></span>/** * 获取图片 * @param request * @return */@RequestMapping(value = "/biz/itemmanager/bizitembomimg/getBomImg/{itemCode}", method = RequestMethod.GET)public ResponseEntity<byte[]> getBomImg(HttpServletRequest request,HttpServletResponse response,@PathVariable String itemCode) {HttpHeaders he = new HttpHeaders();byte[] picture = bizitembomimgService.getImg(itemCode);try {FileType imgType = FileTypeUtil.getType(picture);switch(imgType.name()){case "PNG":he.setContentType(MediaType.IMAGE_PNG);break;case "JPG":he.setContentType(MediaType.IMAGE_JPEG);break;case "JPEG":he.setContentType(MediaType.IMAGE_JPEG);break;case "GIF":he.setContentType(MediaType.IMAGE_GIF);break;case "BMP":he.setContentType(MediaType.valueOf("image/bmp"));break;default:he.setContentType(MediaType.IMAGE_JPEG);break;}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<>(picture,he,HttpStatus.OK);}附: 根据二进制文件流获取文件类型工具类
package com.comprehensive.utils;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;/** * 根据二进制文件流获取文件类型 * * @author Hou * */public class FileTypeUtil {/** * 文件头类型 * * @author Hou * * 常见文件头类型 * * <pre> FFD8FFFE00, .JPEG;.JPE;.JPG, "JPG Graphic File" FFD8FFE000, .JPEG;.JPE;.JPG, "JPG Graphic File" 474946383961, .gif, "GIF 89A" 474946383761, .gif, "GIF 87A" 424D, .bmp, "Windows Bitmap" 4D5A, .exe;.com;.386;.ax;.acm;.sys;.dll;.drv;.flt;.fon;.ocx;.scr;.lrc;.vxd;<br>.cpl;.x32, "Executable File" 504B0304, .zip, "Zip Compressed" 3A42617365, .cnt, "" D0CF11E0A1B11AE1, .doc;.xls;.xlt;.ppt;.apr, "MS Compound Document v1 or Lotus Approach APR file" 0100000058000000, .emf, "" 03000000C466C456, .evt, "" 3F5F0300, .gid;.hlp;.lhp, "Windows Help File" 1F8B08, .gz, "GZ Compressed File" 28546869732066696C65, .hqx, "" 0000010000, .ico, "Icon File" 4C000000011402, .lnk, "Windows Link File" 25504446, .pdf, "Adobe PDF File" 5245474544495434, .reg, "" 7B5C727466, .rtf, "Rich Text Format File" lh, .lzh, "Lz compression file" MThd, .mid, "" 0A050108, .pcx, "" 25215053, .eps, "Adobe EPS File" 2112, .ain, "AIN Archive File" 1A02, .arc, "ARC/PKPAK Compressed 1" 1A03, .arc, "ARC/PKPAK Compressed 2" 1A04, .arc, "ARC/PKPAK Compressed 3" 1A08, .arc, "ARC/PKPAK Compressed 4" 1A09, .arc, "ARC/PKPAK Compressed 5" 60EA, .arj, "ARJ Compressed" 41564920, .avi, "Audio Video Interleave (AVI)" 425A68, .bz;.bz2, "Bzip Archive" 49536328, .cab, "Cabinet File" 4C01, .obj, "Compiled Object Module" 303730373037, .tar;.cpio, "CPIO Archive File" 4352555348, .cru;.crush, "CRUSH Archive File" 3ADE68B1, .dcx, "DCX Graphic File" 1F8B, .gz;.tar;.tgz, "Gzip Archive File" 91334846, .hap, "HAP Archive File" 3C68746D6C3E, .htm;.html, "HyperText Markup Language 1" 3C48544D4C3E, .htm;.html, "HyperText Markup Language 2" 3C21444F4354, .htm;.html, "HyperText Markup Language 3" 100, .ico, "ICON File" 5F27A889, .jar, "JAR Archive File" 2D6C68352D, .lha, "LHA Compressed" 20006040600, .wk1;.wks, "Lotus 123 v1 Worksheet" 00001A0007800100, .fm3, "Lotus 123 v3 FMT file" 00001A0000100400, .wk3, "Lotus 123 v3 Worksheet" 20006800200, .fmt, "Lotus 123 v4 FMT file" 00001A0002100400, .wk4, "Lotus 123 v5" 5B7665725D, .ami, "Lotus Ami Pro" 300000041505052, .adx, "Lotus Approach ADX file" 1A0000030000, .nsf;.ntf, "Lotus Notes Database/Template" 4D47582069747064, .ds4, "Micrografix Designer 4" 4D534346, .cab, "Microsoft CAB File Format" 4D546864, .mid, "Midi Audio File" 000001B3, .mpg;.mpeg, "MPEG Movie" 0902060000001000B9045C00, .xls, "MS Excel v2" 0904060000001000F6055C00, .xls, "MS Excel v4" 7FFE340A, .doc, "MS Word" 1234567890FF, .doc, "MS Word 6.0" 31BE000000AB0000, .doc, "MS Word for DOS 6.0" 1A00000300001100, .nsf, "Notes Database" 7E424B00, .psp, "PaintShop Pro Image File" 504B0304, .zip, "PKZIP Compressed" 89504E470D0A, .png, "PNG Image File" 6D646174, .mov, "QuickTime Movie" 6D646174, .qt, "Quicktime Movie File" 52617221, .rar, "RAR Archive File" 2E7261FD, .ra;.ram, "Real Audio File" EDABEEDB, .rpm, "RPM Archive File" 2E736E64, .au, "SoundMachine Audio File" 53495421, .sit, "Stuffit v1 Archive File" 53747566664974, .sit, "Stuffit v5 Archive File" 1F9D, .z, "TAR Compressed Archive File" 49492A, .tif;.tiff, "TIFF (Intel)" 4D4D2A, .tif;.tiff, "TIFF (Motorola)" 554641, .ufa, "UFA Archive File" 57415645666D74, .wav, "Wave Files" D7CDC69A, .wmf, "Windows Meta File" 4C000000, .lnk, "Windows Shortcut (Link File)" 504B3030504B0304, .zip, "WINZIP Compressed" FF575047, .wpg, "WordPerfect Graphics" FF575043, .wp, "WordPerfect v5 or v6" 3C3F786D6C, .xml, "XML Document" FFFE3C0052004F004F0054005300540055004200, .xml, "XML Document (ROOTSTUB)" 3C21454E54495459, .dtd, "XML DTD" 5A4F4F20, .zoo, "ZOO Archive File" * </pre> * */public enum FileType {/** * JEPG. */JPEG("FFD8FF"),/** * PNG. */PNG("89504E47"),/** * GIF. */GIF("47494638"),/** * TIFF. */TIFF("49492A00"),/** * Windows Bitmap. */BMP("424D"),/** * CAD. */DWG("41433130"),/** * Adobe Photoshop. */PSD("38425053"),/** * Rich Text Format. */RTF("7B5C727466"),/** * XML. */XML("3C3F786D6C"),/** * HTML. */HTML("68746D6C3E"),/** * CSS. */CSS("48544D4C207B0D0A0942"),/** * JS. */JS("696B2E71623D696B2E71"),/** * Email [thorough only]. */EML("44656C69766572792D646174653A"),/** * Outlook Express. */DBX("CFAD12FEC5FD746F"),/** * Outlook (pst). */PST("2142444E"),/** * MS Word/Excel. */XLS_DOC("D0CF11E0"), XLSX_DOCX("504B030414000600080000002100"),/** * Visio */VSD("d0cf11e0a1b11ae10000"),/** * MS Access. */MDB("5374616E64617264204A"),/** * WPS文字wps、表格et、演示dps都是一样的 */WPS("d0cf11e0a1b11ae10000"),/** * torrent */TORRENT("6431303A637265617465"),/** * WordPerfect. */WPD("FF575043"),/** * Postscript. */EPS("252150532D41646F6265"),/** * Adobe Acrobat. */PDF("255044462D312E"),/** * Quicken. */QDF("AC9EBD8F"),/** * Windows Password. */PWL("E3828596"),/** * ZIP Archive. */ZIP("504B0304"),/** * RAR Archive. */RAR("52617221"),/** * JSP Archive. */JSP("3C2540207061676520"),/** * JAVA Archive. */JAVA("7061636B61676520"),/** * CLASS Archive. */CLASS("CAFEBABE0000002E00"),/** * JAR Archive. */JAR("504B03040A000000"),/** * MF Archive. */MF("4D616E69666573742D56"),/** * EXE Archive. */EXE("4D5A9000030000000400"),/** * CHM Archive. */CHM("49545346030000006000"),/* * INI("235468697320636F6E66"), SQL("494E5345525420494E54"), BAT( * "406563686F206f66660D"), GZ("1F8B0800000000000000"), PROPERTIES( * "6C6F67346A2E726F6F74"), MXP( "04000000010000001300"), *//** * Wave. */WAV("57415645"),/** * AVI. */AVI("41564920"),/** * Real Audio. */RAM("2E7261FD"),/** * Real Media. */RM("2E524D46"),/** * MPEG (mpg). */MPG("000001BA"),/** * Quicktime. */MOV("6D6F6F76"),/** * Windows Media. */ASF("3026B2758E66CF11"),/** * MIDI. */MID("4D546864"),/** * MP4. */MP4("00000020667479706d70"),/** * MP3. */MP3("49443303000000002176"),/** * FLV. */FLV("464C5601050000000900");private String value = "";/** * * @param type */private FileType(String value) {this.value = value;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}}/** * 将文件头转换成16进制字符串 * * * @param 原生byte * @return 16进制字符串 */private static String bytesToHexString(byte[] src) {StringBuilder stringBuilder = new StringBuilder();if (src == null || src.length <= 0) {return null;}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/** * 得到文件头 * * @param filePath * 文件路径 * @return 文件头 * @throws IOException */private static String getFileContent(String filePath) throws IOException {byte[] b = new byte[28];InputStream inputStream = null;try {inputStream = new FileInputStream(filePath);inputStream.read(b, 0, 28);} catch (IOException e) {e.printStackTrace();throw e;} finally {if (inputStream != null) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();throw e;}}}return bytesToHexString(b);}/** * * 判断文件类型 * * @param filePath * 文件路径 * @return 文件类型 */public static FileType getType(String filePath) throws IOException {String fileHead = getFileContent(filePath);if (fileHead == null || fileHead.length() == 0) {return null;}fileHead = fileHead.toUpperCase();FileType[] fileTypes = FileType.values();for (FileType type : fileTypes) {if (fileHead.startsWith(type.getValue())) {return type;}}return null;}public static void main(String args[]) throws Exception {System.out.println(FileTypeUtil.getType("C:/Users/hou/Desktop/note.zip"));}}
0 0
- springmvc后台获取图片,到jsp页面显示
- springmvc后台获取图片,到jsp页面显示
- 图片显示到jsp页面
- springmvc 框架,后台跳转到Jsp页面后,显示的是源码
- SpringMVC从数据库中读取图片显示到JSP页面上
- SpringMVC从本地磁盘读取图片显示到JSP页面上
- SpringMVC从数据库中读取图片显示到JSP页面上
- springMVC项目中JSP页面不显示图片
- 使用echart从后台获取数据动态显示到页面
- jsp页面获取后台数据
- jsp 页面无法正确显示后台数据 ,需多次刷新才能正确显示 在springmvc
- spring读取指定路径图片显示到jsp页面
- 将文件中的图片显示到jsp页面
- springMVC自动获取jsp页面input中的值,封装成对象传入后台
- SpringMVC 后台怎么获取前台jsp页面中file中的文件
- SpringMVC 后台怎么获取前台jsp页面中file中的文件。
- 从ftp获取图片显示到jsp中
- SpringMVC:页面传值到后台,后台获取页面传值
- 无法访问android.app.Activity
- Java中的volatile关键字
- the apk for your currently selected variant(app-release-unsigned.apk)is not signed.Please specity a
- iframe参数详解
- List
- springmvc后台获取图片,到jsp页面显示
- face alignment读取.pts文件
- php伪静态
- 解析 XML
- Linux 下编译安装 PHP 5.6
- JEECG 新手常见问题大全,入门必读
- 【加密技术】Java实现四大加密算法
- Group Anagrams 同字母异序String的分组
- 为什么抽象类实现接口的时候不需要重写接口里的方法?