O'Reilly cos上传组件的使用(2/3) - 获取文件信息
upload.html:
<form method="post" action="cos.jsp"
enctype="multipart/form-data">
文件1:<input type="file" name="file1" />
说明:<input type="text" name="file1_desc" />
<br />
文件2:<input type="file" name="file2" />
说明:<input type="text" name="file2_desc" />
<input type="submit" value="上传" />
</form>
cos.jsp:
<%@page contentType="text/html;charset=GBK"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="java.io.File,javax.servlet.ServletContext"%>
<%@page import="java.util.Enumeration,java.io.IOException"%>
O'Reilly cos上传组件的使用(2/3) - 获取文件信息<br />
<%
/*设置上传文件路径*/
ServletContext context = getServletContext();
String realPath = context.getRealPath("/");
String saveDir = realPath + "ch9\\fileupload\\upload\\";
//out.println(saveDir + "<br />");//输出实际路径
File dir = new File(saveDir);
if(!dir.exists())
dir.mkdirs();
int maxPostSize = 1*1024*1024;//1MB
String encoding = "GBK";
MultipartRequest multi = null;
try{
multi = new MultipartRequest(request ,
saveDir , maxPostSize , encoding);
}catch(IOException e){
//上传大小超过maxPostSize就会出现IOException
out.println(e.getMessage());
return;
}
//至此文件已经上传完成!
//以下为获取上传文件的信息,并不是必需的。
%>
<%
//获取文件信息
Enumeration fileNames = multi.getFileNames();
while(fileNames.hasMoreElements()){
//指表单中的name值
String name = (String)fileNames.nextElement();
String sysname = multi.getFilesystemName(name);
String type = multi.getContentType(name);
out.println("Request Name:" + name +"<br />");
out.println("getFilesystemName:" +
saveDir + sysname +"<br />");
out.println("ContentType:" + type +"<br /><br />");
}
out.println("==========<br />");
%>
<%
//获取文件描述
Enumeration params = multi.getParameterNames();
while(params.hasMoreElements()){
String param = (String)params.nextElement();
String value = multi.getParameter(param);
out.println("Param Name:" + param +"<br />");
out.println("Param Value:" + value +"<br /><br />");
}
out.println("==========<br />");
%>
<%
//将前面两个组合起来:获取文件及文件描述
//<input type="file" name="file1" />
//<input type="text" name="file1_desc" />
String descExt = "_desc";
Enumeration files = multi.getFileNames();
while(files.hasMoreElements()){
String name = (String)files.nextElement();
String sysname = multi.getFilesystemName(name);
String type = multi.getContentType(name);
String desc = multi.getParameter(name + descExt);
out.println("Request Name:" + name +"<br />");
out.println("getFilesystemName:" +
saveDir + sysname +"<br />");
out.println("ContentType:" + type +"<br />");
out.println("Description:" + desc + "<br /><br />");
}
%>
分享到:
相关推荐
Oreilly 上传组件源码Oreilly 上传组件源码Oreilly 上传组件源码
This is the source code referenced in the O'Reilly Online Course: Developing Android Applications with Java. More information can be found here: http://training.oreilly.com/androidapps-java/
上述程序中用到的jar 博文链接:https://avery-leo.iteye.com/blog/210695
我这里说说cos,它是O'Reilly公司的,O'Reilly的图书是很8错的,这个上传的组件也做得很棒,最重要的是,它是open source的。 下载最新的cos包(http://www.servlets.com/cos/index.html),加入到你的classpath中。
Oreilly - Python Cookbook,python编程人员必备学习手册
Oreilly - Python Cookbook, 2nd Edition.chm
docidn.com_oreilly-java-performance-the-definitive-guide-
文件内容:(不需要下载了) Example code for "Hadoop: The Definitive Guide, Third Edition" by Tom White. Copyright (C) 2011 Tom White, 978-1-449-31152-0 http://www.hadoopbook.com/ ...
com.oreilly.servlet
O'Reilly Media: Python Cookbook(2 edition) 经典不必多说 http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1282820211&asin=B003LPO4KS&sr=8-1 ...
JavaPerformceTuning-Oreilly.pdf
hadoop工具书籍
这是英文版的。图片是清晰的,这个放心。You may not know much about the Domain Name System − yet − but whenever you use the Internet, you use DNS. Every time you send electronic mail or surf the World...
学习SQL第二版,内容是英文的,可作为学习SQL的入门教材。
使用Ionic框架构建混合移动应用程序 该存储库包含在使用Ionic Framework视频构建混合移动应用程序期间构建的每个应用程序的代码。 快速设置-待办事项 npm install -g ionic git clone ...
OReilly.Test-Driven.Development.with.Python.2nd.Edition.1491958707
一、实验目的 ...由《Hive编程指南》(O'Reilly系列,人民邮电出版社)提供,下载地址: https://raw.githubusercontent.com/oreillymedia/programming_hive/master/prog-hive-1st-ed-data.zip 备用下载地址: ...