- 浏览: 438079 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (192)
- spring (4)
- jFreeChart (1)
- oracle (3)
- tomcat (1)
- mysql (2)
- jbpm (2)
- jQuery (4)
- 财经 (3)
- php (1)
- linux (1)
- ExtJs (2)
- android (92)
- 生活 (5)
- Json (2)
- html (4)
- java (24)
- other (16)
- struts 2 (3)
- hibernate (3)
- Lucene (2)
- Thread (1)
- javaScript (2)
- weblogic (1)
- T-SQL (3)
- Ant (1)
- memcached (6)
- apache (1)
- android 事件处理 (0)
- git (1)
- 设计模式 (1)
最新评论
-
feng_tai_jun:
...
weblogic.xml 部署描述符元素 -
hnraysir:
赞,必须要顶顶顶!
Android中的Surface和SurfaceView -
hety163:
如果你设置的是一个viewgroup的ontouch,想判断不 ...
一个view如何同时响应onTouch和onClick事件 -
yue_670176656:
[flash=200,200][/flash][img][ur ...
九宫格手势密码案例 -
asdf_2012:
必须顶,好文章。简洁
Android中的Surface和SurfaceView
<!--文件上传 servlet-->
public class UpFile extends HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024 * 1024 * 20);
//factory.setRepository(new File(request.getRealPath("/")));
ServletFileUpload upload = new ServletFileUpload(factory);
// 允许上传的文件类型
//upload.setAllowedFilesList("doc,xls,");
// 拒绝上传的文件类型
//upload.setDeniedFilesList("exe,bat,jsp");
//文件大小20M
upload.setSizeMax(1024 * 1024 * 20);
List items;
String affix =null;
try {
items = upload.parseRequest(request);
for (Iterator it = items.iterator(); it.hasNext();) {
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
String name = item.getFieldName();
if(name.equals("boy"))
{
affix = item.getString("utf-8");
}
} else {
if (item.getSize() > 0) {
String fieldName = item.getFieldName();
String fileName =item.getName();
String contentType = item.getContentType();
/*affix = System.currentTimeMillis()
+ fileName.substring(fileName.lastIndexOf("."),
fileName.length());*/
//affix = fileName.substring(fileName.lastIndexOf("."),fileName.length());
fileName = new String(fileName.getBytes("utf-8"),"utf-8");
affix = fileName;
//设置上传路径
FileOutputStream fos = new FileOutputStream(request.getRealPath("Upload")+"/"+ affix);
if (item.isInMemory()) {
fos.write(item.get());
}
else {
InputStream is = item.getInputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
is.close();
}
fos.flush();
fos.close();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
}
}
<!--结束 -->
<!-- 文件下载servlet-->
public class DownFile extends HttpServlet {
private ServletConfig config;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
java.io.BufferedInputStream bis = null;
java.io.BufferedOutputStream bos = null;
try {
String filename = request.getParameter("filename");
filename = new String(filename.getBytes("iso-8859-1"), "utf-8");
response.setContentType("application/x-msdownload");
response.setHeader("Content-disposition",
"attachment; filename="+ new String(filename.getBytes("iso-8859-1"),"utf-8"));
//设置下载路径
bis = new java.io.BufferedInputStream(
new java.io.FileInputStream(config.getServletContext().getRealPath("Upload/" + filename)));
bos = new java.io.BufferedOutputStream(response
.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
}
public void init(ServletConfig config) throws ServletException {
this.config = config;
}
}
<-- 下载结束-->
<-- 对请求信息过滤-->
public class Filte implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest hRequest = (HttpServletRequest)request;
HttpServletResponse hResponse = (HttpServletResponse)response;
hRequest.setCharacterEncoding("UTF-8");
hResponse.setCharacterEncoding("UTF-8");
chain.doFilter(hRequest, hResponse);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
<-- 过滤结束-->
<!-- jsp页面开始-->
<body>
<P>选择要上传的文件:<BR>
<FORM action="<%=basePath %>UpFile" method="post" ENCTYPE="multipart/form-data">
<INPUT type=FILE name="boy" size="45">
<BR> <INPUT type="submit" name ="g" value="提交">
</FORM>
<!-- 文件名应该为查询出来的,在这里先使用刚上传的文件名 -->
<%
String fname ="mark.txt";
%>
支持目标另存为
<A target="_blank" href="<%=basePath%>DownFile?filename=<%=fname%>">下 载</A>
</body>
<!--jsp页面结束 -->
注:配置一下web.xml
- commons-fileupload.jar (45.9 KB)
- 下载次数: 34
- commons-io.jar (70.5 KB)
- 下载次数: 23
评论
你好,通过对IE,Google,Firefox三个浏览器上传测试没有发现中文乱码,不过在下载时点击另存为---出现的文件名倒是乱码。这个问题我也一直在找。
发表评论
-
Java中文件与字节数组转换
2015-01-09 14:19 6111Java文件与字节数组转换 /** * 返回一 ... -
Eclipse中的快速Java代码模板使用 java editor template
2014-10-31 11:11 4935java editor template Eclipse ... -
java回调函数
2014-06-29 14:55 1087java回调函数 所谓回调,就是客户程序C调用 ... -
java中double型数据四舍五入
2014-03-14 19:38 1265java中double型数据四舍五入 /** * ... -
Java线程池介绍以及简单示例
2014-01-23 17:34 1050Java线程池介绍以及简 ... -
eclipse中jar包关联源代码与取消关联
2014-01-13 11:55 2632在eclipse中查看Android源代码 当我们 ... -
Java解读NIO Socket非阻塞模式
2013-11-01 13:48 855Java解读NIO Socket非阻塞模式 Jav ... -
设计模式之java接口和java抽象类
2013-10-09 09:05 1238java接口和java抽象类 java不允许多重 ... -
Java学习之路:不走弯路,就是捷径
2013-04-13 18:37 941Java学习之路:不走弯路,就是捷径 1.如何学习 ... -
java.util.concurrent.ExecutorService与Executors例子的简单剖析
2013-03-25 15:11 1810java.util.concurrent.ExecutorS ... -
Socket
2012-12-23 17:30 1039Socket 定义: 两个java应用程序可通过一个 ... -
jdom读取xml文件
2012-08-19 19:53 1193用JDOM读取XML文件需先 ... -
java 获取HTTP 头部信息
2012-07-21 19:16 2281java 获取HTTP 头部信息 public c ... -
远程下载、图片压缩到指定大小、FTP的上传、文件的删除 /copy
2012-06-12 11:45 2055package com.cmmb.mall.serv ... -
java读取properties配置文件
2012-06-12 11:25 1159public static void main(Stri ... -
使用HTTP方式下载文件( 仅支持另存为)
2012-04-20 18:07 2553public class DownFile extend ... -
java实现FTP断点续传
2012-04-13 09:05 2526import java.io.File; i ... -
java 读取文件
2012-04-12 20:39 1034读取:将磁盘文件数据 ... -
java操作Excel文件
2012-04-06 11:56 1166JAVA EXCEL API 简介 Java Exce ... -
java 调用视频转换工具ffmpeg
2012-03-28 20:41 1692import java.io.File; impor ...
相关推荐
在Java Servlet中,处理文件上传和下载是常见的功能需求。在这个压缩包文件"TestFileUploadAndDownLoad"中,可能包含了实现这些功能的示例代码。 文件上传: 在Java Servlet中,我们通常使用`HttpServletRequest`...
在本场景中,"java servlet上传下载工具类"是指利用Servlet技术实现的、专门用于文件上传和下载的代码模块。这个工具类是基于"孤傲苍狼"的实现进行封装的,通常这样的封装是为了提高代码的复用性,简化开发流程,...
在本场景中,我们将深入探讨如何使用Java Servlet实现图片的上传和下载功能。 首先,我们需要理解图片上传的基本流程。用户通过浏览器提交一个包含图片数据的表单到服务器,Servlet接收这个请求,将图片数据保存到...
上载文件.轻松搞定.java Servlet上传文件.
4. 文件上传下载:Servlet可以处理multipart/form-data类型的表单数据,实现文件上传下载功能。 总之,Java Servlet作为Web开发中的基石,提供了强大的服务器端功能,结合Servlet容器和其他Java EE组件,能够构建...
**JAVA SERVLET 高级编程** 在Java Web开发领域,Servlet是不可或缺的一部分,它为开发者提供了处理HTTP请求的能力。本教程将深入探讨Java Servlet在处理多媒体信息、集成Java Server Pages (JSP)技术、实现Servlet...
在这个场景中,我们关注的是如何使用Servlet来实现文件的上传和下载功能,同时结合Tomcat服务器和XML文件进行数据存储。以下是关于这些知识点的详细说明: 1. **Servlet**: Servlet是Java EE规范的一部分,它是一...
这个"Servlet 文件上传下载例子"将演示这些概念的实际应用,帮助开发者了解如何在Java Web环境中处理文件操作。通过学习和实践,你可以创建一个可靠的文件服务器,支持用户安全、高效地上传和下载文件。
Java Servlet是Java编程语言中用于处理Web服务器与客户端交互的一种技术,主要应用于构建动态Web应用程序。Servlet是Java EE(企业版)的一部分,它允许开发者在服务器端创建强大的、可扩展的网络应用程序。以下是对...
本示例"Java(Servlet)上传文件的demo"提供了一个简单的文件上传功能,适用于初学者理解和实践。以下是对这个demo的详细解析: 1. **Servlet基本概念**: Servlet是一个Java类,遵循Servlet API规范,它扩展了...
总结来说,"servlet上传下载文件"是一个使用Java Servlet实现的Web应用程序,允许用户上传文件至服务器,并能够从服务器下载这些文件。这个系统的核心在于Servlet的`doPost`或`doGet`方法,它们处理HTTP请求,读取或...
这个"Flex4.6+java+servlet上传图片例子+图片上传预览"的项目,结合了前端的Flex技术和后端的Java Servlet,为我们提供了一个完整的解决方案。下面将详细解释这个项目的各个组成部分及其工作原理。 首先,让我们来...
7. **文件上传和下载**:如果博客支持附件或图片上传,那么理解如何在Servlet中处理文件流,存储和提供下载链接是必要的。 8. **会话管理**:为了保持用户登录状态,可能需要使用HttpSession对象来存储和跟踪用户...
Flex+Java Servlet处理文件上传 关于上传文件
在这个"java+Servlet图片上传下载"的项目中,我们将深入探讨如何利用Java Servlet实现图片的上传和下载功能,这对于构建动态网站或者Web应用是非常重要的。 首先,我们要理解Servlet的工作原理。Servlet是Java的一...
第6章 利用Servlet上传和下载文件 6. 1 得到HTTP请求消息的内容 6. 2 利用Servlet得到上传的文件 6. 2. 1 上传文件及表单域的请求实体的分析 6. 2. 2 得到上传文件的编程实例 6. 3 使用Servlet下载文件 6. 3. ...
servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数
【基于Java Servlet的题库系统】是一个非常适合初学者探索Java Web开发基础的项目。这个系统主要依赖于Servlet技术,这是一种用于构建动态Web应用程序的技术,它允许服务器端代码处理客户端的请求并返回响应。在这个...
Java Servlet和SWFUpload是两种不同的技术,但它们在处理大文件上传方面有着共同的应用。在Web开发中,用户可能需要上传大文件,如视频、音频或大型文档,这就需要服务器端具有处理大文件上传的能力。Java Servlet是...