web文件上传的实现
1,html页面,上传使用input type=file控件,其所在的form必须加上enctype="multipart/form-data"
<form role="form" id="form-updUser" name="form-updUser"
method="post" action="updUser" enctype="multipart/form-data">
<div class="form-group">
<label for="username">用户名</label> <input type="text"
class="form-control" id="username" name="username"
placeholder="请输入用户名">
</div>
<div class="form-group">
<label for="name">名称</label> <input type="text"
class="form-control" id="name" name="name" placeholder="请输入名称">
</div>
<div class="form-group">
<label for="palce">归属地</label> <select id="select-province"
name="select-province"></select> <select id="select-city"
name="select-city"></select> </label>
</div>
<div class="form-group">
<label for="apartment">部门</label> <input type="text"
class="form-control" id="apartment" name="apartment"
placeholder="请输入部门">
</div>
<div class="form-group">
<label for="phoneNum">联系方式</label> <input type="text"
class="form-control" id="phoneNum" name="phoneNum"
placeholder="请输入联系方式">
</div>
<input type="hidden" name="id">
<div class="form-group">
<label for="inputfile">文件输入</label> <input type="file"
name="file" id="inputfile"> </div>
<input type="hidden" name="id" id="id">
</form>
2,后台借助于两个开源包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
引入包之后,后台处理的代码如下
private void process(HttpServletRequest request,
HttpServletResponse response) {
// 进行用户更新,以及联系文件的存储
response.setCharacterEncoding("utf-8");
response.setContentType("html;charset=utf-8");
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding(request.getCharacterEncoding());
try {
List<FileItem> list = upload.parseRequest(request);
for (int i = ; i < list.size(); i++) {
FileItem item = list.get(i);
if (item.isFormField()) {
// 说明是普通的表单字段
// updUser(item);
// request.getRequestDispatcher("/listUser").forward(request, response);
} else if(!item.getName().equals("")){
// 说明是文件
saveFile(item);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} private void saveFile(FileItem item) {
String fileName=item.getName();
//防止文件重名
String imageFileName = new Date().getTime() + new Random().nextInt() +fileName.substring(fileName
.lastIndexOf(".") );
//网站的物理跟路径
String rootPath=this.getServletContext().getRealPath("/");
System.out.println("UpdUser:rootPath:"+rootPath);
String path=rootPath+"files\\";
File dir=new File(path);
if(!dir.exists()){
dir.mkdirs();
}
//将文件写入物理路径
try {
item.write(new File(path,imageFileName));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
web文件上传的实现的更多相关文章
- servlet web文件上传
web文件上传也是一种POST方式,特别之处在于,需设置FORM的enctype属性为multipart/form-data. 并且需要使用文件域. servlet的代码比较关键是这几句: // 使用 ...
- Java Web文件上传
参考资料:http://www.cnblogs.com/xdp-gacl/p/4200090.html 一.问题描述 Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个 ...
- WEB文件上传下载功能
WEB文件上传下载在日常工作中经常用到的功能 这里用到JS库 http://files.cnblogs.com/meilibao/ajaxupload.3.5.js 上传代码段(HTML) <% ...
- Web 文件上传 目录
0. SpringMVC -- 梗概--源码--贰--上传 1. Web上传文件的原理及实现 2. Web文件上传方法总结大全 3. SpringMVC 文件上传配置,多文件上传,使用的Multipa ...
- Java Web文件上传原理分析(不借助开源fileupload上传jar包)
Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web 最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不 ...
- WEB文件上传漏洞介绍解决办法
引用:http://blog.csdn.net/kobejayandy/article/details/35861499 问题: -1. 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传 ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- C#实现Web文件上传的两种方法
1. C#实现Web文件的上传 在Web编程中,我们常需要把一些本地文件上传到Web服务器上,上传后,用户可以通过浏览器方便地浏览这些文件,应用十分广泛. 那么使用C#如何实现文件上传的功能呢?下面笔 ...
- Java web文件上传下载
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...
- springboot+web文件上传和下载
一.首先安装mysql数据库,开启web服务器. 二.pom.xml文件依赖包配置如下: <?xml version="1.0" encoding="UTF-8&q ...
随机推荐
- html5shiv.js-让IE浏览器支持HTML5标准
兼容性IE8及以下IE版本 浏览器IE8及以下IE版本对HTML5标签的支持是有限的,我们可以通过在网页中添加脚本的方式来解决目前IE浏览器对HTML5支持的问题. <!–[if IE]> ...
- MarkDown编辑器用法
代码行1 var s = "JavaScript syntax highlighting"; alert(s); 代码行2:ESC下面的英文3个波浪号~按键 var s = &qu ...
- PHP函数补完 - var_export
var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码.var_export必须返回合法的php代码, 也就是 ...
- nodejs爬虫
前言 几个月之前,有同事找我要PHP CI框架写的OA系统.他跟我说,他需要学习PHP CI框架,我建议他学习大牛写的国产优秀框架QeePHP. 我上QeePHP官网,发现官方网站打不开了,GOOGL ...
- hive中的常用方法(case,cast,unix_timestamp)
1.case的用法 )格式1 case col when value then '' when value then '' else '' end )格式2 case when col='value' ...
- Java Socket Option
选项 public final static int TCP_NODELAY = 0x0001; public final static int SO_REUSEADDR = 0x04; public ...
- windows bat常用命令积累
1.判断文件夹是否为空 dir/a/b "D:\test"|findstr . >nul&&(echo 有文件)||(echo 空) 2.多层文件夹遍历 ...
- Sass和Compass制作雪碧图
1.安装好了sass与compass之后设置一个配置文件 2.新增一个雪碧图文件夹用来存放将要合并的图片例如color文件夹 3.@import命令引用 .Compass看到@import指令的参数为 ...
- HTTP 协议的历史演变和设计思路
HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...
- (leetcode)Add Digits
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...