上传文件的分类:

无论什么方式上传文件,都要用post提交

方式一:

前端:表单方式上传文件

后端:

使用上传技术是apache中的Commons-fileupload.jar

commons-io.jar

servlet:

1.在表单提交的时候把表单中的所有的数据封装给request对象

2.通过commons-fileupload的api方法转换request对象

中的数据到一个List集合中

// Parse the request

List items = upload.parseRequest(request);

3.遍历 list集合,集合中都包含表单中所有的数据

包含文件域和非文件域

// Process the uploaded items

Iterator iter = items.iterator();

while (iter.hasNext()) {

FileItem item = iter.next();

if (item.isFormField()) {

//是非文件域

String name = item.getFieldName();

String value = item.getString();

...

} else {

//文件域

String fieldName = item.getFieldName();

String fileName = item.getName();

String contentType = item.getContentType();

boolean isInMemory = item.isInMemory();

long sizeInBytes = item.getSize();

...

//真正上传文件

item.write(服务端的某个目录)

}

}

spring mvc:

在springmvc中底层使用还是commons-fileupload.jar

和commons-io.jar,说明spring mvc对apache的Commons-fileupload

产品做二次封装,封装成:org.springframework.web.multipart.commons.CommonsMultipartResolver

在springmvc上传文件api用CommonsMultipartResolver类中的api

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

用springmvc的api上传文件

MultipartFile的对象调用一个上传方法

对象.transto();把文件上传到指定的服务器上

方式二:

前端:没有表单,用ajax上传文件,必须借助第三方

js工具ajaxfileupload.js,类似的上传文件

的js工具有很多,ajaxfileupload.js工具是基于

jquery库

//异步提交

$.ajaxFileUpload({

url:basePath+"user/new",//提交的服务器地址

secureuri:false,//url链接是否安全

fileElementId:"addHeadPicture",//文件域的id

type:"post",//必须是post提交

data:{"loginName":loginName,"password":password1,"nickName":nickName,"age":age,"sex":sex,"roleId":roleId},//传递的数据

dataType:"text",//注意text,可以写成json

success:function(data,status){

//alert(data);

//回的结果串中有其他的字符串,通过下面的方式

//把没用的字符串替换掉

data=data.replace(/

/g,'');

data=data.replace("

",'');

data=data.replace("

",'');

data=data.replace(/

/g,'');

data=data.replace("

",'');

data=data.replace("

",'');

alert(data);

},

error:function(){

alert("请求失败!");

}

});

后端:

使用上传技术是apache中的Commons-fileupload.jar

commons-io.jar

servlet:

1.在表单提交的时候把表单中的所有的数据封装给request对象

2.通过commons-fileupload的api方法转换request对象

中的数据到一个List集合中

// Parse the request

List items = upload.parseRequest(request);

3.遍历 list集合,集合中都包含表单中所有的数据

包含文件域和非文件域

// Process the uploaded items

Iterator iter = items.iterator();

while (iter.hasNext()) {

FileItem item = iter.next();

if (item.isFormField()) {

//是非文件域

String name = item.getFieldName();

String value = item.getString();

...

} else {

//文件域

String fieldName = item.getFieldName();

String fileName = item.getName();

String contentType = item.getContentType();

boolean isInMemory = item.isInMemory();

long sizeInBytes = item.getSize();

...

//真正上传文件

item.write(服务端的某个目录)

}

}

spring mvc:

在springmvc中底层使用还是commons-fileupload.jar

和commons-io.jar,说明spring mvc对apache的Commons-fileupload

产品做二次封装,封装成:org.springframework.web.multipart.commons.CommonsMultipartResolver

在springmvc上传文件api用CommonsMultipartResolver类中的api

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

用springmvc的api上传文件

MultipartFile的对象调用一个上传方法

对象.transferTo();把文件上传到指定的服务器上

补充:

能够给服务端提交数据的方式

1.用form表单

2.用超链接

3.用ajax异步提交

java form 上传文件_java通过表单进行文件上传的几种方法相关推荐

  1. java文本域不可编辑_javascript:让表单 文本框 只读,不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改.实现的方式归纳一下,有如下几种. 方法1: οnfοcus=this.bl ...

  2. java数据输入的步骤_Java学习日志1.4 Scanner 数据输入的三种方法

    Scanner sc = new Scanner(System.in); /注意in 是InputStream的缩写,是字节输入流的意思. 整句话的含义就是: new 一个对象,接受从键盘输入的数据, ...

  3. [html] Form表单是怎么上传文件的?你了解它的原理吗?

    [html] Form表单是怎么上传文件的?你了解它的原理吗? 简单来说就是把文件转化成字节流,然后使用http进行传输,后端接受后在把二进制转化成原先的文件格式.在HTML表单中,可以上传文件的唯一 ...

  4. Django框架 之 Form表单和Ajax上传文件

    Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...

  5. ajax 表单提交传文件,Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  6. java通知图库更新视频_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能...

    视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...

  7. ASP.NET MVC (三、表单与文件上传)

    目录 前言: 1. 表单操作 2.文件上传 前言: 本章节主要针对文件上传进行强化练习,关键字[HttpPostedFileBase files,enctype="multipart/for ...

  8. 获取当前按钮所在行的input_form表单的input上传文件

    在这次的一个小项目中用到了文件的上传,在之前我对form表单的认知还只是发送用户名和密码.行吧,既然用到了那就硬着头皮上咯. 使用 首先文件的上传需要一个type=file的input.它的意义就是上 ...

  9. php v9 上传_phpcms v9 表单添加文件上传字段

    phpcms v9 表单添加文件上传字段 1.打开目录 ./phpcms/modules/content/fields/ ;把 文件夹downfile,拷贝到目录./phpcms/modules/fo ...

最新文章

  1. MySQL优化配置之query_cache_size
  2. OpenCV Resize Reshape
  3. 【转】并行计算、分布式计算、集群计算和云计算
  4. Python编程基础:第四十九节 鸭子类型Duck Typing
  5. 使用Python的随机数模块 random 实现猜数字游戏
  6. 高德地图开发 怎么去除城市信息
  7. 201671010128 2017-09-24《Java程序设计》之继承
  8. 如何PHP给人生日祝福,祝福偶像生日的句子 祝好朋友生日快乐说说
  9. c语言糖果游戏,幼儿园小班糖果游戏教案
  10. 【渝粤教育】国家开放大学2019年春季 2633轨道交通信号与通信系统 参考试题
  11. Linux FTP 服务器配置简单说明
  12. 有血有肉,汇报年终总结
  13. dosbox 中文操作系统_中兴新支点国产操作系统新版本了,越来越好用了
  14. 合天网安实验室-sql注入实验一
  15. SSL安全漏洞解决方案
  16. openstack-Agile Controller-DCN插件安装
  17. 你所不了解的微服务架构
  18. 什么是https证书,有什么优势?
  19. 计算机硕士可以入伍么,2021年下半年“征兵”已开始,大学生在校入伍好,还是毕业入伍好...
  20. 虚拟化服务器怎么升级,巧借虚拟化实现服务器升级改造

热门文章

  1. 计算机应用基础课程基本要求,计算机应用基础课程标准
  2. python中continue用法案例_Python continue语句实例用法
  3. wxpython图形编程_wxpython  图像编程
  4. Matlab元胞数组操作
  5. AUTOSAR从入门到精通100讲(四十九)-AUTOSAR 通信服务Dcm篇-Dcm概念及DSL详解与实战案例
  6. 牛客网-数据结构笔试题目(一)-猫咪特征提取思路解析(附源码)
  7. 算力云服务器是干啥的,云服务器将成趋势计算力和安全性是考验
  8. php文件写入加1,PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
  9. tomcat加白名单_超详细的tomcat管理页面各类型配置总结
  10. 前端程序员如何选择适合自己的培训机构