jeecg 图片上传

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 file
10 while (itr.hasNext()) {
11 
12 //2.1 get next MultipartFile
13 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 list
17 if (files.size() >= 10)
18 files.pop();
19 
20 //2.3 create new fileMeta
21 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 files
42 files.add(fileMeta);
43 
44 }
45 
46 // result will be like this
47 // [{"fileName":"app_engine-85x77.png","fileSize":"8 Kb","fileType":"image/png"},...]
48 return files;
49 }

 

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

 $('#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;
    }

 

转载于:https://www.cnblogs.com/changeQian/p/5139630.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值