1.上传的步骤:

a.导入SmartUpload.jar    b.创建一个上传的类的对象    c.初始化   d.上传至服务器   e.保存    注意:表单提交时需要指定enctype="multipart/form-data"(多数据类型提交)。

上传的jar包有SmartUpload.jar  和    fastupload-core-0.6.3.jar   可以在网上找一找,它们都可以实现伤上传的功能,我们就用SmartUpload.jar来试一试。

①创建一个Java  web 项目(用帕斯卡命名 就是首字母小写   列如:upioad,ownioad或者upioadOwnioad)

②导包SmartUpload.jar 放在WebRoot→WEB-INF→lib中

③创建一个Servlet的Java类实现HttpServlet接口  (用驼峰命名  就是每个首字母大写  列如:UpioadServlet, OwnioadServlet)

④上传部分的代码 (UpioadServlet)

  

package upioad;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartFile;

import com.jspsmart.upload.SmartFiles;

import com.jspsmart.upload.SmartUpload;

public class UploadServlet<Files> extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

//创建一个上传下载的对象   SmartUpload su=new SmartUpload();

//初始化对象   su.initialize(getServletConfig(), request, response);

try {

//限制上传文件的后缀

su.setAllowedFilesList("txt,doc,jpg");

//设置文件上传的大小限制

su.setMaxFileSize(1024*1024*2);//2M字节数

//上传文件到服务器

su.upload();

SmartFiles fs=su.getFiles();

su.save("/files/");

for(int i=0;i<fs.getCount();i++) {

SmartFile f=fs.getFile(i);

System.out.println(f.getFileExt());

//判断f是否存在

if(f.isMissing()==false)

{

//文件存在.另存为  用时间的方式存储文件名 重复存储相同的文件,不被覆盖

f.saveAs("/files/"+System.currentTimeMillis()+f.getFileName());

}

}

//指定文件保存路径

su.save("/files");

System.out.println("上传成功");

request.getRequestDispatcher("../show.jsp").forward(request, response); //内部跳转

} catch (Exception e) {

// TODO Auto-generated catch block

request.setAttribute("eroor","文件格式不正确");

request.getRequestDispatcher("../index.jsp").forward(request, response); //内部跳转

}

}

}

jsp  简单页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>上传页面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--  <link rel="stylesheet" type="text/css" href="styles.css">  -->

</head>

<body>

<form action="servlet/UploadServlet" method="post" enctype="multipart/form-data">

<input type="file"  name="myfile" ><br><br>

<input type="submit" value="上传"/>${eroor }

</form>

</body>

</html>

⑤下载部分代码(OwnioadServlet)

package ownioad;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;

import com.jspsmart.upload.SmartUploadException;

public class DownLoad extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

//获取要下载文件的名称

String name =new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");

System.out.println(request.getParameter("name"));

//创建一个上传下载的对象

SmartUpload su=new SmartUpload();

//初始化对象

su.initialize(getServletConfig(), request, response);

try {

//设置下载对象内容不自动打开

su.setContentDisposition(null);

//调用下载的方法

su.downloadFile("/files/"+name);

System.out.println("下载成功!");

} catch (SmartUploadException e) {

// TODO Auto-generated catch block    e.printStackTrace();

}

}

}

jsp  简单页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@page import="java.io.File"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'show.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--  <link rel="stylesheet" type="text/css" href="styles.css">  -->

</head>

<body>

<%     File f =new File(application.getRealPath("/files"));

File []fs=f.listFiles();

if(fs!=null && fs.length>0)

{     for(File file:fs)

{      out.print(file.getName());

%>

<a href="fig?name=<%=file.getName() %>">

<%=file.getName() %><br/></a>

<%

}

}

%>

</body>

</html>

送大家一句话 ;代码虐 我千百遍 ,我视代码如初恋

Java 上传下载的的更多相关文章

  1. 【java 上传+下载】

    一.先说说上传 第一步:pom.xml文件 加上 上传文件依赖架包 <dependency> <groupId>commons-fileupload</groupId&g ...

  2. Java上传下载excel、解析Excel、生成Excel

    在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提 ...

  3. JAVA中使用FTPClient上传下载

    Java中使用FTPClient上传下载 在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在c ...

  4. JAVA 实现FTP上传下载(sun.net.ftp.FtpClient)

    package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt ...

  5. Java FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...

  6. JAVA中使用FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...

  7. java实现多线程断点续传,上传下载

    采用apache 的 commons-net-ftp-ftpclient import java.io.File; import java.io.FileOutputStream; import ja ...

  8. JAVA Web 之 struts2文件上传下载演示(二)(转)

    JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...

  9. JAVA Web 之 struts2文件上传下载演示(一)(转)

    JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...

随机推荐

  1. [原创]MongoDB综合实例一

    CentOS-6.5单机实现mongoDB分片 环境:1)CentOS 6.5系统      2)IP:本机3)MongoDB:MongoDB-linux-x86_64-2.6.1 实现:两个副本集s ...

  2. 关于饿了么在浏览器标签页失去焦点时网页Title改变的实现方法

    说在前面:必须是基于支持H5的浏览器才可以 这个 API 本身非常简单,由以下三部分组成. document.hidden:表示页面是否隐藏的布尔值.页面隐藏包括 页面在后台标签页中 或者 浏览器最小 ...

  3. python学习第三个坑

    ##########################python 第三章 ################################这一章呢,主要是文件的操作,还有涉及到函数的一部分. PS:整 ...

  4. 点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...

  5. springcloud(十):服务网关zuul

    前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个 ...

  6. jquery+js实现鼠标位移放大镜效果

    jQuery实现仿某东商品详情页放大镜效果 用jquery+js实现放大镜效果,效果大概如下图! 效果是不是大家很感兴趣,放大镜查看细节,下边大家可以详细看一看具体是怎么实现的.下边直接看代码! HT ...

  7. Android控件的使用

    1. RadioButton (单选按钮) 嵌入到RadioGroup中实现单选效果 android:checkedButton="radio的id值" int getchecke ...

  8. Java对象的内存布局

    对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: ...

  9. HTML/XML/XPATH基础

    Html超文本标记语言 网页上单击右键→查看源文件/查看源代码 Html基本结构 <html>               为文档根元素,所有元素都在内部进行 <head>   ...

  10. 解决Centos crontab没有按时运行的问题

    我装了centos,用一点一直无法搞定,就是定时关机.我只是想做这一件事: 每天凌晨1点自动关机 0 1 * * * shutdown now -h 然而,无论我如何设置,都是失败. 每当我睡了一觉, ...