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. C#进阶系列——动态Lamada(二:优化)

    前言:前几天写了一篇动态Lamada的文章C#进阶系列——动态Lamada,受园友xiao99的启发,今天打算来重新优化下这个动态Lamada的工具类.在此做个笔记,以免以后忘了. 一.原理分析 上篇 ...

  2. Local gulp not found in.. on windows

    当出现报错时,请按如下方式安装 gulp 以下使用国内的淘宝镜像安装: $ # Step 1 $ cnpm install -g gulp $ # Step 2 $ cnpm install --sa ...

  3. 使用VelocityTracker来完成MotionEvent移动速率计算

    先看效果图 关键代码(此处记录单点): switch (event.getAction()){ case MotionEvent.ACTION_DOWN: if (veloctiy==null) { ...

  4. jinfo_动态调整JVM参数(无需重启)(实践)

    ​本文演示在JVM进程运行过程中动态开启/关闭 GC输出,无需重启JVM进程 jinfo使用介绍 可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数 -flag < ...

  5. Thinking in java学习笔记之interface

    (完全解耦)策略设计模式:

  6. host 文件

    艾玛,果然一个破的小问题也能纠结好久!不过终于过去了... 1. 机器上的host文件目录一般是  /etc/hosts 主要可能会涉及一些网站的安全访问,把网站加入hosts也就意味着 加入了白名单 ...

  7. JS写小游戏(一):游戏框架

    前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 ...

  8. Codeforces Round #342 (Div. 2) A. Guest From the Past(贪心)

    传送门 Description Kolya Gerasimov loves kefir very much. He lives in year 1984 and knows all the detai ...

  9. 【原】fiddler修改线上的内容

    摘要:当我们线上的代码出bug了,咋办呢?有时候本地的代码跟线上的代码还是运行环境还是有区别的.比如有些封装的方法需要运动到手机上可以调试,而浏览器是无法调试的.如果不想每次修改完再放上到测试环境看效 ...

  10. 20145204&20145212信息安全系统实验三报告

    实时系统的移植 实验目的与要求 1.根据实验指导书进行实时软件的安装 2.配置实验环境,并对软件进行测试. 3.正确使用连接线等仪器,注意保护试验箱. 实验内容与步骤 1.连接 arm 开发板 连接实 ...