`
guoyulong005
  • 浏览: 32244 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

图片预览异步上传及Sping处理

    博客分类:
  • java
阅读更多
首先需要插件配置ajaxfileupload.js下面可下载
jsp代码:
<img id="showImg1" alt="" src="" onclick="file1()">
<input type="file" id="file" name="file" style="display:none;" onchange="upload()"  />
js代码:
function file1(){
document.getElementById("file").click();
}
function upload(){
$.ajaxFileUpload({ 
        url : '${basePath}/qfOrder/uploadImg.action', //用于文件上传的服务器端请求地址 
        secureuri : false, //一般设置为false 
        fileElementId : 'file', //文件上传空间的id属性  <input type="file" id="file" name="file" /> 
        type : 'post', 
        dataType : 'json', //返回值类型 一般设置为json 
        success : function(data, status) //服务器成功响应处理函数 
        { 
             var imgUrl = data.imgUrl;
             $('#img1').val(imgUrl);
             $('#showImg1').attr('src','${basePath}'+'/'+imgUrl);
        }, 
        error : function(data, status, e)//服务器响应失败处理函数 
        { 
            alert(data.msg); 
        } 
    });
}
后台Java sping代码:
@RequestMapping(value = "uploadImg")
public void uploadImg(HttpServletRequest request,HttpServletResponse response,
@RequestParam(value="file",required=false) MultipartFile[] file) throws Exception{
//获得物理路径webapp所在路径 
String pathRoot = request.getSession().getServletContext().getRealPath("/"); 
        String path=""; 
        List<String> listImagePath=new ArrayList<String>();
        JSONObject json = new JSONObject();
        Map<String, Object> jsonMap = new HashMap<String, Object>();
        try {
        if(file!=null&&file.length>0){
             for (MultipartFile mf : file) { 
                     if(!mf.isEmpty()){ 
                         //生成uuid作为文件名称 
                         String uuid = UUID.randomUUID().toString().replaceAll("-",""); 
                         //获得文件类型(可以判断如果不是图片,禁止上传) 
                         String contentType=mf.getContentType(); 
                         //获得文件后缀名称 
                         String imageName=contentType.substring(contentType.indexOf("/")+1);
                         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
                         path="DDQF/images/"+sdf.format(new Date())+"/" +uuid+"."+imageName;
                         File imgFile = new File(pathRoot+path);
                         if(!imgFile.exists()){
                         imgFile.mkdirs();
                         }
                         mf.transferTo(imgFile); 
                         listImagePath.add(path); 
                     } 
                 }
             jsonMap.put("msg", "图片上传成功");
             jsonMap.put("imgUrl", listImagePath.get(0));
             }
} catch (Exception e) {
jsonMap.put("msg", "图片上传失败");
}
json.putAll(jsonMap);
response.getWriter().append(json.toString());
}
分享到:
评论

相关推荐

    Sping视频2 Sping视频2Sping视频2Sping视频2

    Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2

    sping3 spring-beans 类图 chm

    sping3 spring-beans 类图 chm

    spring 文件上传

    文件上传是Web 程序经常用到的功能,例如MSDN 的资源上传,yahoo邮箱的附件上传,论坛的附件上传等,文件上传的方式有很多种,例如,使用Struts框架实现文件上传,在JSP中使用jspSmartUpload 组件实现文件上传和使用...

    mybatis+sping mvc mybatis+sping mvc

    mybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvc

    Sping的jar包

    Spring AOP则提供了一种声明式处理横切关注点(如日志、事务管理)的方式,让开发者可以将这些通用功能与业务逻辑分离,提高代码可维护性。 日志库在任何软件系统中都扮演着关键角色,它们帮助记录程序运行时的信息...

    sping 技术的主要讲解

    sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术

    spingmvc+hibernate+sping

    sping+spingmvc+hibernate 在学习的时候毕业前夕自己根据资料和以前自己写的项目整合的套,对包哪些进行了选择,主要对事物aop的配置进行了配置,个人感觉不错,共享下,另外还对spingmvc,mybatis的整合项目也有,在...

    Sping定时器的使用

    Spring源码中的`org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor`处理`@Scheduled`注解,`org.springframework.scheduling.config.ScheduledTaskRegistrar`用于注册定时任务,而`...

    sping 3 经典教程

    - **事务管理**:简化了对数据库事务的处理,支持本地事务和分布式事务。 - **数据访问抽象层**:提供了对多种数据访问技术的支持,如JDBC、Hibernate和JPA等,使得数据访问代码更加统一和高效。 - **Web开发支持**...

    sping配置jar包

    同时,它还提供了基本的类型转换、资源加载和异常处理等功能。 4. **spring-web-2.5.6.jar**:这个库为 Web 应用程序提供了支持,包括基于 Servlet API 的集成、HTTP 请求的封装、Web 容器特定的功能,如请求监听器...

    sping的jar包

    8. **Spring Integration**:这是一个企业级的集成框架,用于处理系统间的异步通信和消息传递。它可以与各种消息中间件(如RabbitMQ、ActiveMQ)协同工作,实现服务间的解耦。 9. **Spring Test**:Spring提供了...

    Struts2+MyBatis+Sping框架+Struts2上传实例

    在这个实例中,我们主要关注的是如何在Struts2框架下实现文件上传功能,并结合MyBatis进行数据持久化处理。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它提供了强大的控制层,使得...

    Sping最新资源包

    Spring通过HibernateTemplate或SessionFactoryBean,使得在应用中使用Hibernate变得更加方便,同时Spring还提供了事务管理,使得在多层架构中处理数据库事务更加简单。 "spring-framework-4.0.8.RELEASE"这个文件名...

    sping配置用户密码加密解密

    在Spring框架中,为了保障应用程序的安全性,通常会要求对用户的密码进行加密处理,以便存储在数据库中。在"Spring2配置用户密码加密解密"的主题下,我们将深入探讨Spring如何实现这一功能,并结合给定的文件名来...

    sping MVC 简单小例子

    2. **Controller**:控制器是业务逻辑的入口点,通常用注解@Controller标记,负责处理请求并返回模型数据。 3. **Model**:模型对象,包含了业务数据。 4. **View**:视图负责展示模型数据。Spring MVC支持多种...

    sping结构的一个hello world例子

    - 创建Controller类:编写一个简单的Controller,用`@RequestMapping`注解指定处理的URL路径,返回"Hello, World!"的响应。 - 配置视图解析器:如使用InternalResourceViewResolver,设置前缀和后缀,以便Spring...

Global site tag (gtag.js) - Google Analytics