`
Sunshine丨灬小甜甜
  • 浏览: 1311 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

springMvc附件单个上传或者多个上传

阅读更多

一:封装一个静态方法 

 

/**

   * 附件上传(支持各种文件)

   * @param MultipartFile 类型的file文件对象

   * @return  Map - fileName(文件名称) , newFileName(新文件名称) ,saveFilePath(上传路径)

   */

public static Map<String, String> uploadFile(MultipartFile file){

Map<String , String>  objectMap = new HashMap<String , String>(); 

       //获取前台传递的文件

       MultipartFile imgFile1  =  file;  

       // 获取图片的文件名

        String fileName = file.getOriginalFilename();

        // 获取图片的扩展名

        String extensionName = fileName.substring(fileName.lastIndexOf(".") + 1);

        // 新的图片文件名 = 获取时间戳+"."图片扩展名

        String newFileName = String.valueOf(System.currentTimeMillis()) + "." + extensionName;

        //图片上传路径

        String picDir = Property.getValue("imagepath");;

        String saveFilePath = picDir;

        //构建文件目录

        File fileDir = new File(saveFilePath);

        //判断是否有该文件夹,没有新建

        if (!fileDir.exists()) {

            fileDir.mkdirs();

        }

//上传图片

        try {

            FileOutputStream out = new FileOutputStream(saveFilePath + "\\" + newFileName);

            // 写入文件

            out.write(imgFile1.getBytes());

            out.flush();

            out.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

        objectMap.put("fileName", fileName);

        objectMap.put("saveFilePath", saveFilePath);

        objectMap.put("newFileName", newFileName);

        return objectMap;

}

 

二:前台

multiple :加上这个代表按住 Ctrl 能多选

<form action="方法名?fkzj=${fkzj}" id="myform2" method="post" enctype="multipart/form-data" onsubmit="return check()">

  <table>

<tr id="fujian" >

<td class="title_td" >附件</td>

<td >

<input type="file" multiple id="file" name="file" />  

                         <input type="submit" value="上传附件" />

</td>

</tr>

 

  </table>

</form>

 

二:后台方法

 

/**

 * 批量上传附件

 */

@RequestMapping(value = "/upload", method = RequestMethod.POST)

public String handleFormUpload(MultipartHttpServletRequest request,Jdjc_fkfjModel fjModel,ModelMap modelmap){     

                String fkzj=request.getParameter("fkzj");

List<MultipartFile> file = request.getFiles("file");   

for (int i = 0; i < file.size(); i++) {   

                       //调用静态方法

                Map<String , String>  imgxxMap = ListToMap.uploadFile(file.get(i));

       String imgpath=(imgxxMap.get("saveFilePath") +"/" + imgxxMap.get("newFileName"));

                 fjModel.setPath(imgpath);

                 fjModel.setName(imgxxMap.get("fileName"));

                 fjModel.setFkzj(fkzj);

                 fjModel.setZj(CommonUtil.getUUID32());

                 fjservice.add(fjModel);

}   

  //上传成功后 继续返回当前页 但许保留zj

  modelmap.put("fkzj", fkzj);

  return "/cydwgl/lhzfbs/fj_add";

 

    } 

分享到:
评论

相关推荐

    SpringBoot+SpringMVC+Freemarker实现单个上传和多个文件上传

    SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...

    SpringMVC文件上传,多文件上传实例

    在这个“SpringMVC文件上传,多文件上传实例”中,我们将深入探讨如何在SpringMVC环境中实现文件上传功能,包括单个文件上传以及多个文件的批量上传。 1. **文件上传原理**: 文件上传是通过HTTP协议的POST请求来...

    Spring下的子框架SpringMVC实现单个文件上传功能

    ### SpringMVC 实现单个文件上传功能 #### 一、背景介绍 在现代Web应用开发中,文件上传是一项常见的需求。SpringMVC作为Spring框架的一部分,提供了强大的支持来处理文件上传任务。本文将详细介绍如何在SpringMVC...

    springMvc单文件多文件上传

    springMvc 文件上传,springMvc 支持单文件和多文件上传,

    springMVC-maven 简单的附件上传,文件本地磁盘存储,

    在本文中,我们将深入探讨如何使用SpringMVC和MyBatis框架,以及Maven构建工具来实现一个简单的附件上传功能,特别关注图片上传,并将文件存储到本地磁盘。这个项目适用于Java开发者,特别是那些使用Java 1.7及以上...

    springMVC多文件上传demo

    这个"springMVC多文件上传demo"是一个实例,它展示了如何在Spring MVC应用中实现这个功能。下面将详细介绍相关知识点。 1. **Spring MVC概述** Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序...

    springmvc带进度条上传源码

    - 限制文件大小和类型,防止DoS攻击或上传恶意文件。 - 对文件名进行安全处理,避免路径遍历等安全问题。 8. **最佳实践**: - 使用异步上传以改善用户体验,特别是在上传大文件时。 - 实现错误处理和重试机制...

    SpringMVC+MyBatis上传单个文件,上传多个文件,文件列表显示,文件下载等功能

    本教程将深入探讨如何在SpringMVC中集成MyBatis实现文件上传、多文件上传、文件列表展示以及文件下载功能。 首先,我们需要在SpringMVC项目中配置MyBatis。这包括在`spring-servlet.xml`中配置数据源、事务管理器、...

    SpringMVC单文件上传、多文件上传、文件列表显示、文件下载

    multipart请求是HTTP协议中用于上传文件的一种特殊类型,它可以包含多个部分,每个部分可以是一个表单字段或者一个文件。 **单文件上传** 对于单文件上传,我们需要在表单中添加`&lt;input type="file"&gt;`元素,然后在...

    springMVC图片上传示例

    在这个"springMVC图片上传示例"项目中,我们将深入探讨如何在SpringMVC环境中实现图片附件的上传功能,包括多图上传、图片预览及文本域传值。 一、SpringMVC概述 SpringMVC是Spring框架的一部分,它遵循模型-视图-...

    SpringMVC+Ajax异步文件上传

    `SpringMVC`作为Java后端的一个强大框架,提供了处理文件上传的能力。而`Ajax`技术则使得页面可以在不刷新的情况下与服务器进行交互,实现异步上传,极大地提升了用户体验。在本教程中,我们将探讨如何结合`...

    SpringMVC上传文件 SSH上传文件

    在开发Web应用时,文件上传和下载功能是常见的需求,特别是在处理用户数据或者提供资源服务时。本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们...

    SpringMVC文件上传Demo代码

    这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们需要在SpringMVC的配置文件(如`servlet-context.xml`)中启用多部分支持。这通常涉及到注册一个`...

    IDEA SpringMVC 实现文件的上传下载

    在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring提供的一个解析多部分请求的组件。在配置文件中,我们需要添加如下配置启用文件上传: ```xml &lt;!-- 指定最大上传文件大小 --&gt; ...

    SpringMVC框架搭建,并实现附件上传下载

    通过以上步骤,我们可以构建一个具备附件上传下载功能的SpringMVC应用。在实际开发中,可能还需要考虑文件的权限控制、安全性、异常处理等更多细节。持续优化和测试,以确保系统的稳定性和用户体验。

    springmvc+ajax上传例子

    在IT行业中,SpringMVC和Ajax是两种广泛使用的技术,它们在构建现代Web应用程序时起着至关重要的作用。...在实际开发中,你可以根据需求进一步优化,例如添加进度条显示、多文件上传支持,或者集成其他验证和安全策略。

    springmvc上传文件controller,vue

    Vue.js作为一个前端框架,可以很好地与Spring MVC结合,实现用户界面的交互和文件上传的处理。在这个项目中,我们将深入探讨如何使用Spring MVC作为后端控制器来处理文件上传,以及Vue.js在前端如何与之配合。 首先...

    SpringMVC+Ajax异步上传图片并显示(源码)

    一旦图片成功上传,后端的Controller可以返回一个包含图片URL或其他相关信息的响应。前端接收到响应后,可以动态更新HTML,将新上传的图片显示在页面上。 在实际项目中,为了提高用户体验,可能还需要添加进度条...

    基于springMVC的文件上传功能

    在Web应用中,文件上传是一项常见的...总结,基于SpringMVC的文件上传功能涉及到环境配置、控制器编写、视图设计、文件存储策略以及安全措施等多个方面。理解并掌握这些知识点,可以构建出稳定、高效的文件上传系统。

Global site tag (gtag.js) - Google Analytics