jeecg 图片上传

来源:互联网 发布:mac照片文件夹在哪 编辑:程序博客网 时间:2024/06/06 00:57

1.页面上传标签

复制代码
<t:formvalid formid="addImageForm" dialog="true" usePlugin="password"          layout="table" tiptype="1" action="itemController.do?doAddImage" >    <input name="itemId" value="${itemId}" type="hidden">    <input id="fileupload" type="file" name="files[]" accept="image/*" data-url="fileUploadController.do?upload" multiple>    <div id="uploaded-files">    </div></t:formvalid>
复制代码

 

2.上传后的操作

复制代码
 1 public LinkedList<FileMeta> upload(MultipartHttpServletRequest request, HttpServletResponse response) { 2 //1. build an iterator 3 Iterator<String> itr = request.getFileNames(); 4 MultipartFile mpf = null; 5 String path="";//上传文件的路径 6 String fileName="";//文件名 7 String newFileName="";//新文件名 8 String savePath="";//文件保存全路径 9 //2. get each file10 while (itr.hasNext()) {11 12 //2.1 get next MultipartFile13 mpf = request.getFile(itr.next());14 //System.out.println(mpf.getOriginalFilename() + " uploaded! " + files.size());15 16 //2.2 if files > 10 remove the first from the list17 if (files.size() >= 10)18 files.pop();19 20 //2.3 create new fileMeta21 fileMeta = new FileMeta();22 //fileMeta.setFileName(mpf.getOriginalFilename());23 fileMeta.setFileSize(mpf.getSize() / 1024 + " Kb");24 fileMeta.setFileType(mpf.getContentType());25 26 try {27 fileMeta.setBytes(mpf.getBytes());28 //     String path ="upload/";29 //     String realPath = request.getSession().getServletContext().getRealPath("/") + "/" + path ;// 文件的硬盘真实路径30 //     String savePath = realPath + mpf.getOriginalFilename();// 文件保存全路径31 fileName=mpf.getOriginalFilename();32 path=ResourceUtil.getConfigByName("tempPath");33 newFileName = NumberMaker.createFileName(fileName);34 savePath = path + newFileName; // 文件保存全路径35 // copy file to local disk (make sure the path "e.g. D:/temp/files" exists)36 FileCopyUtils.copy(mpf.getBytes(),new File(savePath));37 fileMeta.setFileName(newFileName);//将新的随机数文件名赋给文件名属性38 } catch (IOException e) {39 e.printStackTrace();40 }41 //2.4 add to files42 files.add(fileMeta);43 44 }45 46 // result will be like this47 // [{"fileName":"app_engine-85x77.png","fileSize":"8 Kb","fileType":"image/png"},...]48 return files;49 }
复制代码

 

3.选择图片后获得选择的图片名称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('#fileupload').fileupload({
       maxChunkSize: 2000000, // 最大2MB
       dataType: 'json',
       done: function (e, data) {
           var cc = 0;
           console.log("in");
           $.each(data.result, function (index, file) {
               console.log("index:"+index);
                $("#uploaded-files").append(
               $("<input name='filename' type='hidden' />").val(file.fileName)
               )
           });
           cc++;
       }

  4.引入js

 

<script src="plug-in/jquery-plugs/fileupload/js/vendor/jquery.ui.widget.js"></script> <script src="plug-in/jquery-plugs/fileupload/js/jquery.iframe-transport.js"></script> <script src="plug-in/jquery-plugs/fileupload/js/jquery.fileupload.js"></script>

 5.提交表单

复制代码
public AjaxJson doAddImage(ItemImageEntity image, HttpServletRequest request) {        String itemId=request.getParameter("itemId");        String fileName=request.getParameter("filename");        String path="";        String imagePath="";        AjaxJson j = new AjaxJson();        String message = "添加成功";        try {            path =ResourceUtil.getConfigByName("uploadPath");            String tempPath=ResourceUtil.getConfigByName("tempPath");            String oldPath = tempPath + fileName;// 获取temp文件下的指定文件路径            String newPath = path + fileName;//新目录            File filein=new File(oldPath);            File fileout=new File(newPath);            // 文件拷贝到指定硬盘目录            FileCopyUtils.copy(filein, fileout);            //savePath = path + newFileName; // 文件保存全路径            imagePath="commonController.do?viewImg&imgUrl="+fileName;            ItemEntity item=systemService.getEntity(ItemEntity.class, itemId);            itemService.addImage(item, fileName, fileName,imagePath);            systemService.addLog("图片名【"+image.getName()+"】"+message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);        } catch (Exception e) {            e.printStackTrace();            message = "图片添加失败";            systemService.addLog("图片名【"+image.getName()+"】"+e.getMessage(), Globals.Log_Type_INSERT, Globals.Log_Leavel_ERROR);            throw new BusinessException(e.getMessage());        }                j.setMsg(message);        return j;    }
复制代码

 

原创粉丝点击