java form 上传文件_java通过表单进行文件上传的几种方法
上传文件的分类:
无论什么方式上传文件,都要用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通过表单进行文件上传的几种方法相关推荐
- java文本域不可编辑_javascript:让表单 文本框 只读,不可编辑的方法
有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改.实现的方式归纳一下,有如下几种. 方法1: οnfοcus=this.bl ...
- java数据输入的步骤_Java学习日志1.4 Scanner 数据输入的三种方法
Scanner sc = new Scanner(System.in); /注意in 是InputStream的缩写,是字节输入流的意思. 整句话的含义就是: new 一个对象,接受从键盘输入的数据, ...
- [html] Form表单是怎么上传文件的?你了解它的原理吗?
[html] Form表单是怎么上传文件的?你了解它的原理吗? 简单来说就是把文件转化成字节流,然后使用http进行传输,后端接受后在把二进制转化成原先的文件格式.在HTML表单中,可以上传文件的唯一 ...
- Django框架 之 Form表单和Ajax上传文件
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...
- ajax 表单提交传文件,Ajax提交Form表单及文件上传
刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...
- java通知图库更新视频_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能...
视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...
- ASP.NET MVC (三、表单与文件上传)
目录 前言: 1. 表单操作 2.文件上传 前言: 本章节主要针对文件上传进行强化练习,关键字[HttpPostedFileBase files,enctype="multipart/for ...
- 获取当前按钮所在行的input_form表单的input上传文件
在这次的一个小项目中用到了文件的上传,在之前我对form表单的认知还只是发送用户名和密码.行吧,既然用到了那就硬着头皮上咯. 使用 首先文件的上传需要一个type=file的input.它的意义就是上 ...
- php v9 上传_phpcms v9 表单添加文件上传字段
phpcms v9 表单添加文件上传字段 1.打开目录 ./phpcms/modules/content/fields/ ;把 文件夹downfile,拷贝到目录./phpcms/modules/fo ...
最新文章
- MySQL优化配置之query_cache_size
- OpenCV Resize Reshape
- 【转】并行计算、分布式计算、集群计算和云计算
- Python编程基础:第四十九节 鸭子类型Duck Typing
- 使用Python的随机数模块 random 实现猜数字游戏
- 高德地图开发 怎么去除城市信息
- 201671010128 2017-09-24《Java程序设计》之继承
- 如何PHP给人生日祝福,祝福偶像生日的句子 祝好朋友生日快乐说说
- c语言糖果游戏,幼儿园小班糖果游戏教案
- 【渝粤教育】国家开放大学2019年春季 2633轨道交通信号与通信系统 参考试题
- Linux FTP 服务器配置简单说明
- 有血有肉,汇报年终总结
- dosbox 中文操作系统_中兴新支点国产操作系统新版本了,越来越好用了
- 合天网安实验室-sql注入实验一
- SSL安全漏洞解决方案
- openstack-Agile Controller-DCN插件安装
- 你所不了解的微服务架构
- 什么是https证书,有什么优势?
- 计算机硕士可以入伍么,2021年下半年“征兵”已开始,大学生在校入伍好,还是毕业入伍好...
- 虚拟化服务器怎么升级,巧借虚拟化实现服务器升级改造
热门文章
- 计算机应用基础课程基本要求,计算机应用基础课程标准
- python中continue用法案例_Python continue语句实例用法
- wxpython图形编程_wxpython 图像编程
- Matlab元胞数组操作
- AUTOSAR从入门到精通100讲(四十九)-AUTOSAR 通信服务Dcm篇-Dcm概念及DSL详解与实战案例
- 牛客网-数据结构笔试题目(一)-猫咪特征提取思路解析(附源码)
- 算力云服务器是干啥的,云服务器将成趋势计算力和安全性是考验
- php文件写入加1,PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
- tomcat加白名单_超详细的tomcat管理页面各类型配置总结
- 前端程序员如何选择适合自己的培训机构