多文件上传以及java后台接受

最近项目用到的,实现多文件以及一些信息上传,

以及后台接收及读取用到了spring及springmvc相关框架。

不多说废话,直接上例子(这有关键代码)

首先,前台页面

<form action="/uploader/upload/uploadFiles" method="post" enctype="multipart/form-data">
<input type="file"size="30" name="uploadify"multiple="true"
id="files" />
   <button id="uploadFiles">上传文件</button>
   <input type="hidden" id="username"name="username" /> 
<input type="hidden" id="directory" name="directory"/>
</form>

首先解释下action中的地址为我后台接受文件的地址,

因为上传文件,所以enctype="multipart/form-data"是必须的

同时选择多个文件上传,不使用各种控件的话,把multiple设置为"true"即可。

另外,上传文件input中的name属性很重要,后台获取文件会用到的。

下面上后台代码,username和directory可以在参数中直接获取

@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST, consumes = "multipart/*")
   publicvoid uploadFilesFromHtml(
@RequestParam(defaultValue = "") String username,
@RequestParam(defaultValue = "") String directory,
MultipartHttpServletRequest request)
   throws FileUploadException,IOException {
      MultiValueMap<String,MultipartFile> map = request.getMultiFileMap();// 为了获取文件,这个类是必须的
      List<MultipartFile> list = map.get("uploadify");// 获取到文件的列表
      Stringpath= getFilePath(username,directory); //忽略掉,为文件最终上传的地址
      List<String>filenameList= newArrayList<>();//
      // 将图片进行存储
      for (MultipartFile mFile : list) {
         StringoriginalFileName= mFile.getOriginalFilename();//获取文件名称
         filenameList.add(originalFileName);
         byte[] bytes = mFile.getBytes();//获取字节数组
         StringfilePath= path+ File.separator+ originalFileName;
         FileOutputStreamfos= newFileOutputStream(newFile(filePath)); //写出到文件
         fos.write(bytes);
         fos.flush();
         fos.close();
      }
   }
时间: 2024-11-04 06:46:41

多文件上传以及java后台接受的相关文章

django 学习-14 Django文件上传 (Admin后台)

1.这种上传方式是用admin后台完成的,用数据库和model做 vim settings.py MEDIA_ROOT = '/headImg/'                                   文件保存在路径(还有后续) #   'django.middleware.csrf.CsrfViewMiddleware',            禁掉这个,跨站不会出问题 'django.contrib.admin',                                

ftp文件上传,Java上传

package com.gx.ftp; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import org.apache.commons.net.ftp.FTP;

超大文件上传方案( Java )

1.介绍enctype enctype 属性规定发送到服务器之前应该如何对表单数据进行编码. enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样) 1.1 enctype的取值有三种 值 描述 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编码.每一个表单项分割为一个部件 text/plain 空格转换为 “+” 加号,但不对特殊字符编码. 1. 当

ajax中form表单中含有文件上传功能,后台语言是java,包括图片的下载,预览,删除

//样式 <li> <label>已有文档:</label> <div id="fileEdit"></div> </li> <li> <label>附件:</label> <input name="file" type="file" multiple="multiple" style="display:

servlet实现文件上传,预览,下载和删除

CreateTime--2017年9月4日09:24:59 Author:Marydon 一.准备工作: 1.1 文件上传插件:uploadify: 1.2 文件上传所需jar包:commons-fileupload-1.3.1.jar和commons-io-2.2.jar 1.3 将数据转成JSON对象需要jar包:commons-beanutils-1.8.3.jar.commons-collections-3.2.1.jar.commons-lang-2.6.jar.commons-log

Volley源码分析之自定义MultiPartRequest(文件上传)

本篇内容目录: 使用HttpURLConnection上传文件到服务器案例 自定义支持文件上传的MultiPartRequest Web后台接收文件的部分代码 先来看下HttpURLConnection来文件上传的案例: 1.传送数据到服务器,必定是使用POST请求: //设置请求方式为post httpURLConnection.setDoOutput(true); httpURLConnection.setRequestMethod("POST"); 2.上传文件的HTTP请求中的

简易远程文件上传

后台搭建 开心太早 另类脚本 部署 客户端 源码 核心 测试 命令清单 执行 结果 总结 一直以来,Python的requests库都没能正式的接触到.今天这么一试,才发现原来是这么的强大.感情之前的urllib, urllib2都没这么的智能.于是思量着做了个小工具, 配合PHP写了一个命令行下的文件上传小工具. 后台搭建 开心太早 由于最后会在命令行里面使用,所以用不着什么花哨的界面(其实是写不出来,╭(╯^╰)╮). 大致的对比了一下,觉得还是前后端一致的好,然后就尝试着使用Python写

spring boot实现文件上传下载

spring boot 引入”约定大于配置“的概念,实现自动配置,节约了开发人员的开发成本,并且凭借其微服务架构的方式和较少的配置,一出来就占据大片开发人员的芳心.大部分的配置从开发人员可见变成了相对透明了,要想进一步熟悉还需要关注源码.1.文件上传(前端页面): <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo

3、文件上传

3.文件上传 ------------------------------------java---------------- import java.io.File; import java.io.IOException; import java.util.List; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.