怎么在JFinal中利用ajaxfileupload上传图片
本篇文章给大家分享的是有关怎么在JFinal中利用ajaxfileupload上传图片,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
定制设计可以根据自己的需求进行定制,成都网站设计、做网站构思过程中功能建设理应排到主要部位公司成都网站设计、做网站的运用实际效果公司网站制作网站建立与制做的实际意义
1.前端jsp页面核心代码
<%=request.getContextPath() %>/media/file/${banner.img}" id="imgsrc"/>
function ajaxFileUpload(fileEid, paramdata){ if(typeof(paramdata)=='undefined') paramdata = {}; var $file=$('#'+fileEid).val(); if($file=='') {alert("请先选择对应的上传文件,谢谢"); return;} $.ajaxFileUpload({ url:'<%=request.getContextPath()%>/banner/uploadpic', secureuri:false, fileElementId:fileEid, dataType: 'text', data:paramdata, success: function (result){ var result = result.substring(result.indexOf("{"),result.indexOf("}")+1); result = eval("("+result+")"); if(result.t==1){ $("#imgsrc").attr("src","<%=request.getContextPath() %>/media/file/"+result.msg); $("#imgurl").val(result.msg); }else{ alert("上传失败"); } } }); }
2.后台核心代码
public void uploadpic(){ UploadFile upfile = getFile();//JFinal规定getFile()必须最先执行 File file = upfile.getFile(); String filename = file.getName(); String delfilename = filename; if(filename!=null && !filename.equals("")){ filename = new SimpleDateFormat("yyyyMMddkkmmss").format(new Date())+filename; /** * 新保存的位置 */ String path = getRequest().getSession().getServletContext() .getRealPath("/"); String newPath = "/media/file/";//自定义目录 用于存放图片 /** * 没有则新建目录 */ File floder = new File(path + newPath); if (!floder.exists()) { floder.mkdirs(); } /** * 保存新文件 */ FileInputStream fis = null; FileOutputStream fos = null; try{ File savePath = new File(path + newPath + filename); if(!savePath.isDirectory()) savePath.createNewFile(); fis = new FileInputStream(file); fos = new FileOutputStream(savePath); byte[] bt = new byte[300]; while (fis.read(bt, 0, 300) != -1) { fos.write(bt, 0, 300); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(null!=fis) fis.close(); if(null!=fos) fos.close(); }catch(Exception e){ e.printStackTrace(); } } /** * 删除原图片,JFinal默认上传文件路径为 /upload(自动创建) */ File delFile = new File(path+"/upload/"+delfilename); if(delFile.exists()){ delFile.delete(); } setAttr("msg",filename); setAttr("t",1); }else{ setAttr("t",0); } renderJson(); }
附:ajaxfileupload.js代码
jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' + id; var iframeHtml = '
以上就是怎么在JFinal中利用ajaxfileupload上传图片,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
新闻名称:怎么在JFinal中利用ajaxfileupload上传图片
网页路径:http://scjiangan.com/article/jdcppd.html