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. Angular快速入门篇

    简介 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使 ...

  2. 20145315&20145307《信息安全系统设计基础》实验五

    20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 ...

  3. 微信小程序之ES6与事项助手

    由于官方IDE更新到了0.11.112301版本,移除了对Promise的支持,造成事项助手不能正常运行,解决此问题,在项目中引入第三方兼容库Bluebird支持Promise,代码已经整合到项目代码 ...

  4. 87 resize2fs-增大或者收缩未加载的“ext2/ext3”文件系统的大小

    resize2fs命令被用来增大或者收缩未加载的"ext2/ext3"文件系统的大小.如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线resize., ...

  5. Eclipse+maven创建webapp项目<二>(转)

    原文地址:http://www.cnblogs.com/candle806/p/3439469.html 1.开启eclipse,右键new-->other,如下图找到maven project ...

  6. 【OpenJudge 1793】矩形覆盖

    http://noi.openjudge.cn/ch0405/1793/ 好虐的一道题啊. 看数据范围,一眼状压,然后调了好长时间QwQ 很容易想到覆盖的点数作为状态,我用状态i表示至少覆盖状态i表示 ...

  7. elk的搭建----待续

    http://yanliu.org/2015/08/19/ELK-redis%E6%90%AD%E5%BB%BAnginx%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90%E5 ...

  8. a版本冲刺第四天

    队名:Aruba   队员: 黄辉昌 李陈辉 林炳锋 鄢继仁 张秀锋 章  鼎 学号 昨天完成的任务 今天做的任务 明天要做的任务 困难点 体会 408 完成学习Java从入门到精通基础篇 通读了构建 ...

  9. ReactNative 从环境和第一个demo说起,填坑教程

    一.React-Native MacOS必备环境配置: 1.安装homebrew(这东西可以理解为命令行的app商店) /usr/bin/ruby -e "$(curl -fsSL http ...

  10. windows 下 新建 点开头的文件和文件夹

    新建 .aaa文件夹 cmd:$ mkdir .aaa 新建 .aaa文件夹 echo " >> .aaa