IE下上传
前端显示
<form action="UploadServlet" method="post">
<label for="info">信息:</label>
<input type="text" name="info"><br>
<label for="file">文件:</label>
<input type="file" name="file"><br>
<input type="submit" value="上传">
</form>
后台处理
@WebServlet("/UploadServlet")
public class UploadServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
request.setCharacterEncoding("UTF-8");
String filePath = request.getParameter("file");
System.out.println("filePath========="+filePath);
File uploadDirPath = new File(getServletContext().getRealPath("/uploadFile"));
System.out.println("uploadDirPath====="+uploadDirPath);
if(!uploadDirPath.exists()){
uploadDirPath.mkdirs();
}
String fileName = null;
if(filePath.indexOf(File.separator)<0){//firefox浏览器取得上传的文件名
fileName = filePath;
}
else{//IE浏览器取得上传的文件名
fileName = filePath.substring(filePath.lastIndexOf(File.separator)+1);
}
p(fileName);
FileInputStream fio = null;
FileOutputStream fos = null;
try
{
fio = new FileInputStream(filePath);
fos = new FileOutputStream(uploadDirPath+File.separator+fileName);
int c;
while((c=fio.read())!=-1){
fos.write((char)c);
}
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
fio.close();
fos.close();
}
}
public static void p(Object o){
System.out.println(o);
}
}
二。下载
前台界面
<a href="DownLoadServlet?fileName=东软实训总结.doc">东软实训总结.doc</a><BR>
<a href="DownLoadServlet?fileName=Android_de.rar">Androd.rar</a>
后台处理
@WebServlet("/DownLoadServlet")
public class DownLoadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
p(getServletContext().getRealPath(""));
//request.setCharacterEncoding("UTF-8");
//要下载的文件名
String fileName = new String(request.getParameter("fileName").getBytes("ISO-8859-1"),"UTF-8");
//要下载的文件的扩展名
String fileNameExt = fileName.substring(fileName.indexOf("."));
System.out.println(fileName);
//下载文件所在的服务器端的目录
String downLoadDir = getServletContext().getRealPath(File.separator+"uploadFile");
//下载文件所在的服务器端的绝对路径
String downloadPath = downLoadDir+File.separator+fileName;
p(downloadPath);
File files = new File(downLoadDir);
boolean flag = false;
/* for(File file:files.listFiles()){//查找资源看是否存在
if(fileName.equals(file.getName())){
flag = true;
break;
}
}*/
if(new File(downLoadDir,fileName).exists()){
flag = true;
}
if(flag){
p("资源存在");
// response.addHeader("content-type", "application/x-download");
//response.setContentType("application/x-msdownload");
response.addHeader("Content-Disposition", "attachment;filename="+Calendar.getInstance().getTimeInMillis()+fileNameExt);
//设置文件的大小
response.addHeader("Content-length", Long.toString(new File(downloadPath).length()));
FileInputStream fio = new FileInputStream(new File(downloadPath));
OutputStream fos = response.getOutputStream();
byte[] b = new byte[1024];
int n;
while((n=fio.read(b))!=-1){
fos.write(b);
}
fos.flush();
fio.close();
fos.close();
}
else{
response.getWriter().println("资源不存在");
}
}
public static void p(Object o){
System.out.println(o);
}
}
分享到:
相关推荐
在本资源中,"jsp servlet 实现上传和下载" 主题涵盖了如何利用这两种技术,结合SmartUpload组件来处理文件的上传与下载操作,并且涉及到了数据库的交互。下面将详细解释这些知识点。 1. JSP:JSP是一种服务器端...
有感于各种方法的上传和下载,比较麻烦,我使用简单的输入输出流,读取文件信息,实现把指定文件上传到服务器以及在页面使用脚本window.open()的方式,实现从服务器端的下载。供大家参考!不足之处,欢迎指出,不胜...
在Java Web开发中,...对于文件上传下载,还需要理解HTTP协议中的相关概念,如Content-Type、Content-Disposition等。分页功能则涉及到数据的组织和展示策略。最后,对Java基础和Web开发的整体理解也是必不可少的。
通过以上步骤,你可以成功地在CKEditor 3.6.0中集成Servlet实现的文件上传功能。这个过程不仅适用于图片,还可以扩展到其他类型的文件,如文档、音频和视频。注意在实际应用中,根据服务器环境和项目需求进行相应的...
在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...
总结起来,"Java Servlet实现图片上传下载"涉及到的主要知识点有:Servlet生命周期、HTTP协议、文件I/O、数据库操作、表单提交处理、文件存储策略、安全控制、响应头设置以及异常处理。掌握这些技能,开发者可以构建...
以上就是使用JSP和Servlet实现文件上传下载的基本流程和关键代码。在实际应用中,我们还需要考虑错误处理、安全性(如防止文件覆盖、上传恶意文件等)以及性能优化(如使用缓冲、断点续传等)。在大型项目中,可能还...
### Servlet实现文件上传与下载 #### 一、概述 在Web开发中,文件的上传与下载是一项非常常见的功能需求。本文将详细介绍如何使用Java Servlet技术实现文件的上传和下载功能。我们将通过一个简单的示例来展示整个...
servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数
本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,其中涉及到的主要技术点包括Servlet API、Multipart解析以及文件流操作。 首先,我们需要了解Servlet在文件上传中的作用。Servlet在接收到客户端(通常...
### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...
总结来说,"安卓+servlet实现上传下载图片"涉及的关键知识点包括: 1. Android客户端:使用HttpURLConnection或OkHttp发起HTTP请求,读取图片文件,发送POST请求上传图片,接收GET响应下载图片。 2. Servlet服务端...
在这个场景下,`JSP(JavaServer Pages)` 和 `Servlet` 是Java Web开发中的关键组件,它们一起用于实现动态网页功能。本篇文章将深入探讨如何利用`JSP`和`Servlet`来创建一个头像上传功能。 首先,`JSP`是一种基于...
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
在本主题"Servlet实现资源的上传与下载"中,我们将深入探讨如何利用Servlet技术来实现用户上传文件到服务器以及从服务器下载文件的功能。这两个功能在许多Web应用程序中都是至关重要的,例如在线文档管理系统、社交...
本教程将详细讲解如何使用Servlet实现文件的上传和下载功能,这对于任何Web应用程序来说都是至关重要的。 首先,我们来了解一下Servlet的基本概念。Servlet是Java编程语言中一个用于扩展服务器功能的接口,主要应用...
本项目"jsp+servlet小项目(实现图片上传功能)"旨在教授如何利用这两者创建一个简单的图片上传功能。下面将详细介绍这个项目涉及的关键知识点。 1. JSP基础:JSP是一种动态网页技术,允许开发者在HTML页面中嵌入...
在这个项目中,我们重点关注的是Servlet如何实现文件上传、下载和缩略图的生成。 首先,让我们深入理解文件上传的过程。在Web应用中,文件上传通常通过HTML表单实现,使用`<input type="file" />`标签让用户选择要...
下面将详细介绍如何使用Servlet实现文件上传和下载的功能。 ### 文件上传 文件上传通常涉及到HTTP协议中的`multipart/form-data`编码类型,这是处理表单数据中包含文件的关键。Servlet 3.0及以上版本提供了更方便...
利用Ajax和Servlet实现文件上传,用来commons-fileupload和commons-io两个包。这两个包也在里边。东西做的很简单,但重点是能对这个方法有所了解就行了,有人想做的更炫的可以自行修改。希望能对大家有所帮助。如果...