bootstrap fileinput +springmvc图片上传-krajee
发布时间:2020-12-17 20:48:42 所属栏目:安全 来源:网络整理
导读:引入的文件 link href ="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/css/fileinput.min.css" media ="all" rel ="stylesheet" type ="text/css" / link rel ="stylesheet" href ="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-
引入的文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/css/fileinput.min.css" media="all" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/css/fileinput.min.css" media="all" rel="stylesheet" type="text/css" /> <!-- if using RTL (Right-To-Left) orientation,load the RTL CSS file after fileinput.css by uncommenting below --> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/css/fileinput-rtl.min.css" media="all" rel="stylesheet" type="text/css"/> <!-- optionally uncomment line below if using a theme or icon set like font awesome (note that default icons used are glyphicons and `fa` theme can override it) --> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" media="all" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <!-- piexif.min.js is needed for auto orienting image files OR when restoring exif data in resized images and when you wish to resize images before upload. This must be loaded before fileinput.min.js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/js/plugins/piexif.min.js" type="text/javascript"></script> <!-- sortable.min.js is only needed if you wish to sort / rearrange files in initial preview. This must be loaded before fileinput.min.js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/js/plugins/sortable.min.js" type="text/javascript"></script> <!-- purify.min.js is only needed if you wish to purify HTML content in your preview for HTML files. This must be loaded before fileinput.min.js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/js/plugins/purify.min.js" type="text/javascript"></script> <!-- popper.min.js below is needed if you use bootstrap 4.x. You can also use the bootstrap js 3.3.x versions without popper.min.js. --> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script> <!-- bootstrap.min.js below is needed if you wish to zoom and preview file content in a detail modal dialog. bootstrap 4.x is supported. You can also use the bootstrap js 3.3.x versions. --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" type="text/javascript"></script> <!-- the main fileinput plugin file --> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/js/fileinput.min.js"></script> <!-- optionally uncomment line below for loading your theme assets for a theme like Font Awesome (`fa`) --> <!-- script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/themes/fa/theme.min.js"></script --> <!-- optionally if you need translation for your language then include locale file as mentioned below --> <script type="text/javascript" src="../../static/bootstrap/js/zh.js"></script> <!--这个可以去bootstrap cdn找--> ? ? ? 首先创建一个div <div class="file-loading"> <input id="input-file-1" name="fileName" multiple type="file" accept="image/*" > </div> javascript代码 <script> $("#input-file-1").fileinput({ language: "zh",uploadUrl: "/goods/add",autoOrientImage: true,multiple:true,maxFileCount:4,uploadAsync:false,uploadExtraData:{id:‘kv-1‘,goodsName:"123"},//额外添加的数据,后台有request.getPara取得 allowedFileExtensions: ["jpg","jpeg","gif","png","bmp"],//单位为kb,如果为0表示不限制文件大小 layoutTemplates:{ // actionDelete: ‘‘,//设置为空字符串可以去掉对应的按钮 actionUpload:‘‘,},browseClass: ‘btn btn-primary‘ }).on(‘fileuploaded‘,function(event,data) { //上传成功 alert("成功"); }) .on("fileuploaderror",function (event,data,msg) { //上传失败 alert("失败"); }) /* .on("filepreremove",function(jqXHR) { var abort = false; if (confirm("确定删除此图片?")) { abort = true; } return abort; // 您还可以发送任何数据/对象,你可以接收` filecustomerror });*/ </script> 后台代码 @ResponseBody @RequestMapping(value="/add",method = RequestMethod.POST) public String insertGoods(@RequestParam("fileName") MultipartFile imageFile[],//同步上床 获取多张图片参数 /*Goods goods,*/ HttpServletRequest request){ System.out.println("hello world"); Goods goods = new Goods(); if(imageFile!=null){ String imgUrl=""; for(int k=0;k<imageFile.length;k++) { imgUrl += saveImageFile(imageFile[k],request)+","; } goods.setImgUrl(imgUrl); } Date date=new Date(); goods.setUploadTime(date); GoodsEnum anEnum=goodsService.insertGoods(goods); if(anEnum.equals(GoodsEnum.INSERT_GOODS_SUCCESS)){ return JSONUtil.toJSON("success"); }else{ return JSONUtil.toJSON("error"); } } private String saveImageFile(MultipartFile imageFile,HttpServletRequest request) { //获取文件上传到服务器的路径 String uploadUrl=getRealPath(request)+"static/uploadImg/"; System.out.println("文件路径为:"+uploadUrl); //获取从客户端传过来的文件名 String filename=imageFile.getOriginalFilename(); //判断文件上传的路径是否存在,若不存在,则需要创建它 File dir=new File(uploadUrl); if(!dir.exists()){ dir.mkdirs(); } //targetFile最终上传的文件,先判断文件是否存在 File targetFile=new File(uploadUrl+filename); if(!targetFile.exists()){ //如果文件不存在,我们尝试创建它 try { targetFile.createNewFile(); }catch (IOException e){ e.printStackTrace(); } } //使用MultipartFile的transferTo方法保存文件 try { imageFile.transferTo(targetFile); }catch (IllegalStateException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } return "img/"+filename; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- state-management – 如何在NGXS中使用patchState vs setSt
- osx – 更改在终端中打开的文件的默认编辑器? (例如将其设
- WebService之Axis2技术总结
- angular项目总结——angular + browserify + gulp + bower
- scala泛型函数返回类型
- 您的全局Angular CLI版本大于本地版本
- angularjs – Typescript的Angular 1.5种子?
- Docker 笔记
- 在Scala中将(任一个的未来列表)转换为(列表中的任一个的未来
- Angular Material自定义主题 – 为什么mat-palette需要4个变