package am.demo; 
import java.io.File; 
import java.io.IOException; 
import java.util.Iterator; 
import java.util.List; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.apache.commons.fileupload.FileItem; 
import org.apache.commons.fileupload.disk.DiskFileItemFactory; 
import org.apache.commons.fileupload.servlet.ServletFileUpload; 
@SuppressWarnings("serial") 
public class Upload extends HttpServlet { 
    private String uploadPath = "d://temp"; // 上传文件的目录 
    @SuppressWarnings("unchecked") 
    public void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws IOException, ServletException { 
        try { 
            // Create a factory for disk-based file items 
            DiskFileItemFactory factory = new DiskFileItemFactory(); 
            // Create a new file upload handler 
            ServletFileUpload upload = new ServletFileUpload(factory); 
            List<FileItem> items = upload.parseRequest(request);// 得到所有的文件 
            Iterator<FileItem> i = items.iterator();
            while (i.hasNext()) { 
                FileItem fi = (FileItem) i.next();
                String fileName = fi.getName();
                if (fileName != null) { 
                    File fullFile = new File(fi.getName()); 
                    File savedFile = new File(uploadPath, fullFile.getName()); 
                    fi.write(savedFile);
                }
            }
            response.setContentType("text/html;charset=GBK");   
            response.getWriter().print(
            "<mce:script language='javascript'><!-- 
alert('上传成功');window.location.href='index.jsp'; 
// --></mce:script>"); 
        } catch (Exception e) { 
            // 可以跳转出错页面 
            e.printStackTrace();
        }
    }
    public void init() throws ServletException { 
        File uploadFile = new File(uploadPath); 
        if (!uploadFile.exists()) { 
            uploadFile.mkdirs();
        }
    }
}

package am.demo; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
@SuppressWarnings("serial") 
public class Download extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws IOException, ServletException { 
        String aFileName = new String(request.getParameter("name").getBytes( 
                "iso8859-1"), "gbk"); 
        File fileLoad = new File("d:/temp", aFileName); 
        FileInputStream in = null; // 输入流 
        OutputStream out = response.getOutputStream();
        byte b[] = new byte[1024]; 
        try { 
             response.setContentType("application/x-msdownload;"); 
            response.setHeader("Content-disposition", "attachment; filename=" 
                    + new String(aFileName.getBytes("GBK"), "ISO-8859-1")); 
            // download the file. 
            in = new FileInputStream(fileLoad); 
            int n = 0; 
            while ((n = in.read(b)) != -1) { 
                out.write(b, 0, n); 
            }
        } catch (Throwable e) { 
            e.printStackTrace();
        } finally { 
            try { 
                in.close();
                out.close();
            } catch (Throwable e) { 
                e.printStackTrace();
            }
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws IOException, ServletException { 
        doGet(request, response);
    }
}

package am.demo; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
@SuppressWarnings("serial") 
public class Delete extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws FileNotFoundException, IOException { 
        String aFileName = new String(request.getParameter("name").getBytes( 
                "iso8859-1"), "gbk"); 
        File file = new File("d:/temp", aFileName); 
        response.setContentType("text/html;charset=GBK"); 
        if (!file.isDirectory()) { 
            file.delete();
            response.getWriter().print(
                "<mce:script language='javascript'><!-- 
alert('删除成功');window.location.href='index.jsp'; 
// --></mce:script>"); 
        } else { 
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws IOException, ServletException { 
        doGet(request, response);
    }
}

upload&&download的更多相关文章

  1. ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码

    因为工作的机器不让拷贝出来也不让发邮件出来也不让访问外网,所以文件两个PC挪来挪去很麻烦. 决定写一个网页,只有upload和download ideaJ,maven,java,tomcat 写一个j ...

  2. Asp.net core 学习笔记 ( upload/download files 文件上传与下载 )

    更新 :  2018-01-22  之前漏掉了一个 image 优化, 就是 progressive jpg refer : http://techslides.com/demos/progressi ...

  3. file upload download

    1. 文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: ...

  4. Upload/download/UrlConnection/URL

    文件上传的核心点 1:用<input type=”file”/> 来声明一个文件域.File:_____ <浏览>. 2:必须要使用post方式的表单. 3:必须设置表单的类型 ...

  5. WCF传输大数据 --断点续传(upload、download)

    using System; using System.IO; using System.Runtime.Serialization; using System.ServiceModel; namesp ...

  6. jQuery File Upload 单页面多实例的实现

    jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload ...

  7. jQuery File Upload blueimp with struts2 简单试用

    Official Site的话随便搜索就可以去了 另外新版PHP似乎都有问题  虽然图片都可以上传  但是response报错  我下载的是8.8.7木有问题   但是8.8.7版本结合修改main. ...

  8. AFNetworking 3.0 源码解读(五)之 AFURLSessionManager

    本篇是AFNetworking 3.0 源码解读的第五篇了. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager AFNetworking 3 ...

  9. 基于Spring Mvc实现的Excel文件上传下载

    最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...

随机推荐

  1. Jquery DIV滚动至浏览器顶部位置固定

    获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 方法一: $(function() { v ...

  2. 【OpenJudge 1665】完美覆盖

    http://noi.openjudge.cn/ch0405/1665/?lang=zh_CN 状压水题,手动转移 #include<cstdio> #include<cstring ...

  3. 理解 HTTPS 的工作原理

    目标读者:理解HTTP协议,对称和非对称加密,想要了解HTTPS协议的工作原理. 读完本文,你能明白 什么是HTTPS,TLS(SSL),TLS和HTTPS是什么关系? 什么是证书和数字签名,它们是如 ...

  4. Long Short-Term Memory (LSTM)公式简介

    Long short-term memory: make that short-term memory last for a long time. Paper Reference: A Critica ...

  5. linux配置java开发环境

    一.下载jdk java -version 查看有没有安装jdk 下载对应版本的jdk:jdk-java7u60-linux-x64.tar.gz   二.解压 cp jdk-java7u60-lin ...

  6. 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)

    Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuq ...

  7. python3的基础练习题

    1. 执行 Python 脚本的两种方式 1)/usr/bin/python3 xx.py 2)python3 xx.py #注xx.py需要在内容里面调用由什么解释器执行 2. 简述位.字节的关系 ...

  8. cxf 调用 webservice服务时传递 服务器验证需要的用户名密码

    cxf通过wsdl2java生成客户端调用webservice时,如果服务器端需要通过用户名和密码验证,则客户端必须传递验证所必须的用户名和密码,刚开始想通过url传递用户名和密码,于是在wsdl文件 ...

  9. web service 学习

    是什么? 是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关.也可以说是提供了许多函数.客户端调用服务端的函数. 远程调用: ...

  10. 使用MicroService4Net 快速创建一个简单的微服务

    “微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...