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实现上传下载 JSP/servlet实现上传下载 JSP/servlet实现上传下载 JSP/servlet实现上传下载
有感于各种方法的上传和下载,比较麻烦,我使用简单的输入输出流,读取文件信息,实现把指定文件上传到服务器以及在页面使用脚本window.open()的方式,实现从服务器端的下载。供大家参考!不足之处,欢迎指出,不胜...
此资源包括了采用SmartUpload 组件从jsp上传到指定文件,下载到文件,上传到数据库,以及从数据库下载的代码,代码简单,清晰。有大量的注释,初学者可以轻松看懂并理解其原理。
Servlet实现文件上传与下载 Servlet 文件上传与下载
java servlet实现图片上传下载
实现上传下载,服务器用的是tomcat,将注册信息、文件信息写入xml文件中
使用CKEditor3.6.0版本,使用上传组件实现Servlet上传图片,含有列子
servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数
安卓+servlet实现上传下载图片,内置jar包,客服端和服务端
使用Servlet实现文件的上传与下载Demo
java 写的文件上传下载的例子,可以做简单图片文件服务器
Servlet实现
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
该资源利用开源upload文件包,成功实现文件上传与下载
基于jsp+servlet实现的小项目(实现图片上传功能)
jsp+servlet的头像上传 百分之百有用
利用Ajax和Servlet实现文件上传,用来commons-fileupload和commons-io两个包。这两个包也在里边。东西做的很简单,但重点是能对这个方法有所了解就行了,有人想做的更炫的可以自行修改。希望能对大家有所帮助。如果...
通过jsp和servlet实现MP3文件的上传下载。
jsp+servlet实现文件上传和下载,需要使用commons-fileupload,commons-io.jar java库文件
一个完整的Servlet文件上传、下载及缩略图的生成的代码,可以直接在eclipse中运行,本程序适合多包上传和下载,对于图片类文件可以生成缩略图,供大家参考,改程序已经过测试。