fileupload异步上传多个图片
2016-05-27 17:36
134 查看
做图片上传很简单,能把简单的事情做到极致,你就变得优秀了。废话不多说,上代码。1.页面<table><tr><td></td> <td height="150" width="300"> <div id="product1"> <input id="coverPicture_url" name="coverPicture" type="hidden" value=""> <img id="coverPicture_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 封面: <a href="javascript:;" > <input upImg="true" id="fm" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" />
</a> </td> <td height="150" width="350"> <div id="product2"> <input id="carouselPicture1_url" name="carouselPicture1" type="hidden" value=""> <img id="carouselPicture1_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 轮播图片1: <a href="javascript:;" > <input upImg="true" id="lbtp1" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" /> </a> </td> <td height="150"> <div id="product3"> <input id="carouselPicture2_url" name="carouselPicture2" type="hidden" value=""> <img id="carouselPicture2_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 轮播图片2: <a href="javascript:;" > <input upImg="true" id="lbtp2" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" /> </a> </td> </tr> <tr> <td></td> <td height="150" width="350"> <div id="product4"> <input id="carouselPicture3_url" name="carouselPicture3" type="hidden" value=""> <img id="carouselPicture3_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 轮播图片3: <a href="javascript:;" > <input upImg="true" id="lbtp3" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" /> </a> </td> <td height="150" width="350"> <div id="product5"> <input id="carouselPicture4_url" name="carouselPicture4" type="hidden" value=""> <img id="carouselPicture4_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 轮播图片4: <a href="javascript:;" > <input upImg="true" id="lbtp4" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" /> </a> </td> <td height="150"> <div id="product6"> <input id="carouselPicture5_url" name="carouselPicture5" type="hidden" value=""> <img id="carouselPicture5_img" style="display: none" src="" alt="" width="200px" height="200px"> </div> 轮播图片5: <a href="javascript:;" > <input upImg="true" id="lbtp5" name="pic" type="file" data-url="${ctx}/upload/uploadPic"
multiple="multiple" /> </a> </td> </tr> </table> 2.脚本 //定义图片组件 var list = [{"fileBtnId":"fm","imgId":"coverPicture_img","urlId":"coverPicture_url"}, {"fileBtnId":"lbtp1","imgId":"carouselPicture1_img","urlId":"carouselPicture1_url"}, {"fileBtnId":"lbtp2","imgId":"carouselPicture2_img","urlId":"carouselPicture2_url"}, {"fileBtnId":"lbtp3","imgId":"carouselPicture3_img","urlId":"carouselPicture3_url"}, {"fileBtnId":"lbtp4","imgId":"carouselPicture4_img","urlId":"carouselPicture4_url"}, {"fileBtnId":"lbtp5","imgId":"carouselPicture5_img","urlId":"carouselPicture5_url"}]; //初始加载 $(function(){ //图片上传初始化 for(var index = 0,l = list.length;index<l;index++){ fileUpload(list[index].fileBtnId,list[index].imgId,list[index].urlId); } }); //图片上传 function fileUpload(fileBtnId,imgId,urlId){ $('#'+fileBtnId).fileupload({ dataType: 'json', done: function (e,data) { $('#'+urlId).val(data.result.url); $('#'+imgId).css('display','block'); $('#'+imgId).attr('src',data.result.url); } }); } 3.Controller(这部分根据自己项目来定) @Controller @RequestMapping("/upload") public class UploadController { @RequestMapping(value="uploadPic") public void uploadPic(@RequestParam(required = false) MultipartFile pic,
HttpServletResponse response) throws Exception { String ext = FilenameUtils.getExtension(pic.getOriginalFilename()); //生成策略 DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String format = df.format(new Date()); Random r = new Random(); for(int i = 0 ; i < 3 ;i++){ format += r.nextInt(10); } //实例jersey Client client = new Client(); //保存db String path = "upload/"+format+"."+ext; String ip = "http://119.57.156.12:8080/image-web/"; //另一台服务器的请求路径 String url = ip + path; //设置请求路径 WebResource resource = client.resource(url); //发送开始 resource.put(String.class,pic.getBytes()); //返回 JsonMapper mapper = new JsonMapper(); Map<String,Object> map = new HashMap<String,Object>(); map.put("url", url); map.put("path", path); response.setContentType("text/html"); response.getWriter().write( mapper.toJson(map) ); response.flushBuffer(); } } 这里边用到的是fileupload插件。使用还要加上必要的脚本文件。 <script type="text/javascript" src="${ctx}/resources/fileupload/jquery.fileupload.js"></script> <script type="text/javascript" src="${ctx}/resources/fileupload/jquery.ui.widget.js"></script> <script type="text/javascript" src="${ctx}/resources/fileupload/jquery.iframe-transport.js"></script> <script type="text/javascript" src="${ctx}/resources/fileupload/jquery.fileupload.js"></script> <script type="text/javascript" src="${ctx}/resources/easyui/jquery.min.js"></script> 其实还有好多插件支持此功能。
相关文章推荐
- 第一次独立编写小程序——写入数据库
- 一周的接口编写总结
- Python中的Numpy入门教程
- 当代人工智能的核心技术究竟是什么?
- arraylist 排序
- 我的Java之路
- PRO-1:Day4-开发板linux内核中sqlite3操作
- 理解DOM事件流的三个阶段
- 找水龙续
- UIImage和Base64字符串互转
- iOS友盟崩溃地址解析 通过dSYM文件分析定位线上 APP crash问题
- System.map符号表解析
- 探究多网卡UDP广播发送源地址
- PageRank的初步理解和实践
- NSUserDefault -- synchronize 浅析
- javaBean与Map<String,Object>互转
- win10系统全角半角切换
- mysql 数据库获取当前时间
- Centos 7通过grub修改root用户密码
- PAT 1021 Deepest Root (25) (并查集+DFS)