博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手机端上传图片及java后台接收和ajaxForm提交
阅读量:5960 次
发布时间:2019-06-19

本文共 3275 字,大约阅读时间需要 10 分钟。

有很多微信开发的项目在手机端需要传图片,但是又不想调用微信的上传图片接口,于是采取了如下做法:

使用ajaxForm提交文件所需js:

页面代码:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %><%@include file="/context/mytags.jsp"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
页面标题
资料上传
   我的收款码:
   我的身份证:

java代码:

/**     * 添加图片     *      * @param ids     * @return     * @throws FileUploadException      */    @RequestMapping(params = "doAdd")    @ResponseBody    public AjaxJson doAdd(AgentPicEntity agentPic, HttpServletRequest request) throws Exception {        String message = null;        AgentPicEntity agentpic = systemService.findUniqueByProperty(AgentPicEntity.class, "agentId", agentPic.getAgentId());        if (agentpic==null) {            agentpic = new AgentPicEntity();        }        agentpic.setAgentId(agentPic.getAgentId());        //身份证        String agentIdentity = "agentIdentity";        //付款码        String agentCollectionCode = "agentCollectionCode";        AjaxJson j = new AjaxJson();        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;         //解析request,将结果放置在list中        Map
> fileMap = multiRequest.getMultiFileMap(); // 获取实体类的所有属性,返回Field数组 Field[] field = agentpic.getClass().getDeclaredFields(); // 遍历所有属性 for (int i = 0; i < field.length; i++) { // 获取属性的名字 String name = field[i].getName(); //身份证或付款码 if (agentIdentity.equals(name)||agentCollectionCode.equals(name)) { List
files = fileMap.get(name+"s"); MultipartFile file = files.get(0); if (!file.isEmpty()) { // 文件保存路径 String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/agentpic/"+ file.getOriginalFilename(); // 转存文件 file.transferTo(new File(filePath)); // 将属性的首字符大写,方便构造get,set方法 name = name.substring(0, 1).toUpperCase() + name.substring(1); // 获取属性的类型 String type = field[i].getGenericType().toString(); if (type.equals("class java.lang.String")) { //拼装setter方法 Method set = agentpic.getClass().getMethod("set"+name,String.class); //调用setter方法 set.invoke(agentpic,"upload/agentpic/"+ file.getOriginalFilename()); } } } } message = "图片添加成功"; try{ agentPicService.saveOrUpdate(agentpic); }catch(Exception e){ e.printStackTrace(); message = "图片添加失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; }

 

转载地址:http://bfjax.baihongyu.com/

你可能感兴趣的文章
云客户端重在连接
查看>>
Linux和AIX下添加定时任务
查看>>
HTML+DOM与XML+DOM之间的区别与联系
查看>>
VS2012 发布网站步骤
查看>>
dubbo的服务提供者provider启动的一些理解
查看>>
Java之品优购部署_day01(2)
查看>>
[20171227]表的FULL_HASH_VALUE值的计算.txt
查看>>
[20190415]关于shared latch(共享栓锁).txt
查看>>
设计读书笔记
查看>>
有关Kali更新问题的解决方法。
查看>>
[摘录]验证视图MAC失败 Validation of ViewState MAC Failed
查看>>
[Python] numpy.random.rand
查看>>
centos时区
查看>>
在澳大利亚为Mini团队实施Scrum2年总结
查看>>
HDU Problem 5395 Gym Class 【拓扑排序+优先队列】
查看>>
ExtJs combobox模糊匹配
查看>>
线程中断、线程让步、线程睡眠、线程合并
查看>>
Codeforces Round #532(Div. 2) A.Roman and Browser
查看>>
bupt summer training for 16 #4 ——数论
查看>>
【leetcode】145. Binary Tree Postorder Traversal
查看>>