使用common-fileUpload制作文件上传
来源:互联网 发布:2016软件人才需求 编辑:程序博客网 时间:2024/05/20 05:05
前台页面不用多说 主要是表单中设置 enctype="multipart/form-data" 很重要。
处理上传jsp文件
//判断表单是否是Multipart类型的。这里可以直接对request进行判断
if (ServletFileUpload.isMultipartContent(request)) {
// 创建文件处理工厂,它用于生成 FileItem 对象。
DiskFileItemFactory factory = new DiskFileItemFactory();
//设置文件的缓存路径
String tempdir =this.getServletContext().getRealPath("/upload/temp");
java.io.File d = new java.io.File(savedir);
if(!d.exists()){
d.mkdirs();
}
factory.setSizeThreshold(1024*1024); // 设置最多只允许在内存中存储的数据,单位:字节
factory.setRepository(d); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录(默认可以不用设置)
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置允许用户上传文件大小,单位:字节
upload.setSizeMax(yourMaxRequestSize);
//上传文件,并解析出所有的表单字段,包括普通字段和文件字段
List items = upload.parseRequest(request);
//下面对每个字段进行处理,分普通字段和文件字段
Iterator it = items.iterator();
while(it.hasNext()){
FileItem fileItem = (FileItem) it.next();
//如果是普通字段
if(fileItem.isFormField()){ //是普通的字段
System.out.println(fileItem.getFieldName() + " " + fileItem.getName() + " " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk"));
fileItem.getFieldName();//得到字段name属性的值
fileItem.getName();//得到file字段的文件名全路径名,如果不是file字段,为null
fileItem.getString();//得到该字段的值,默认的编码格式
fileItem.getString("UTF-8");//指定编码格式
}else{//文件字段
System.out.println(fileItem.getFieldName() + " " +
fileItem.getName() + " " +//得到file字段的文件名全路径名
fileItem.isInMemory() + " " +//用来判断FileItem类对象封装的主体内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false
fileItem.getContentType() + " " +//文件类型
fileItem.getSize()); //文件大小
//什么东西都有了 ,想怎么处理都可以了
//保存文件,其实就是把缓存里的数据写到目标路径下
if(fileItem.getName()!=null && fileItem.getSize()!=0){
File fullFile = new File(fileItem.getName());
File newFile = new File("c:/temp/" + fullFile.getName());
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
}else{
System.out.println("文件没有选择 或 文件内容为空");
}
处理上传jsp文件
//判断表单是否是Multipart类型的。这里可以直接对request进行判断
if (ServletFileUpload.isMultipartContent(request)) {
// 创建文件处理工厂,它用于生成 FileItem 对象。
DiskFileItemFactory factory = new DiskFileItemFactory();
//设置文件的缓存路径
String tempdir =this.getServletContext().getRealPath("/upload/temp");
java.io.File d = new java.io.File(savedir);
if(!d.exists()){
d.mkdirs();
}
factory.setSizeThreshold(1024*1024); // 设置最多只允许在内存中存储的数据,单位:字节
factory.setRepository(d); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录(默认可以不用设置)
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置允许用户上传文件大小,单位:字节
upload.setSizeMax(yourMaxRequestSize);
//上传文件,并解析出所有的表单字段,包括普通字段和文件字段
List items = upload.parseRequest(request);
//下面对每个字段进行处理,分普通字段和文件字段
Iterator it = items.iterator();
while(it.hasNext()){
FileItem fileItem = (FileItem) it.next();
//如果是普通字段
if(fileItem.isFormField()){ //是普通的字段
System.out.println(fileItem.getFieldName() + " " + fileItem.getName() + " " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk"));
fileItem.getFieldName();//得到字段name属性的值
fileItem.getName();//得到file字段的文件名全路径名,如果不是file字段,为null
fileItem.getString();//得到该字段的值,默认的编码格式
fileItem.getString("UTF-8");//指定编码格式
}else{//文件字段
System.out.println(fileItem.getFieldName() + " " +
fileItem.getName() + " " +//得到file字段的文件名全路径名
fileItem.isInMemory() + " " +//用来判断FileItem类对象封装的主体内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false
fileItem.getContentType() + " " +//文件类型
fileItem.getSize()); //文件大小
//什么东西都有了 ,想怎么处理都可以了
//保存文件,其实就是把缓存里的数据写到目标路径下
if(fileItem.getName()!=null && fileItem.getSize()!=0){
File fullFile = new File(fileItem.getName());
File newFile = new File("c:/temp/" + fullFile.getName());
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
}else{
System.out.println("文件没有选择 或 文件内容为空");
}
- 使用common-fileUpload制作文件上传
- 使用common-fileUpload制作文件上传
- 使用common-fileUpload制作文件上传(DiskFileItemFactory方式)
- 使用 common-fileupload 实现文件上传
- 使用common-fileupload实现文件的上传
- Java文件上传组件 common-fileUpload 使用
- 使用common-fileupload框架实现文件上传
- 使用common-fileupload实现文件上传功能
- 使用common-fileupload实现文件上传
- 使用common-fileupload实现文件的上传
- 使用common-fileUpload实现文件上传
- 使用common-fileupload实现文件的上传
- 文件上传 使用apache common-fileupload.jar
- 使用common-fileupload实现文件的上传
- common-fileupload上传文件
- common-fileupload上传文件
- common-fileupload文件上传
- common-fileupload上传文件
- mysql Key_buffer_size参数的设置
- jquery使用radio (tip)
- iPhone/iPad开发札记 2012/03/29
- 函数名加上了括号
- MySQL MyISAM / PHP 高并发优化经验
- 使用common-fileUpload制作文件上传
- JavaFX2.0基础教程 之 FXML入门教程
- poj 1505 Copying Books
- 人要学会勇敢坚强和接纳
- .net System.Web.Caching.Cache缓存类使用详解
- 汉诺塔问题
- android基础
- C#操作Word (1)Word对象模型
- pthread常用函数说明