commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

注意:工程中需要引入commons-fileupload的包。

upload.java

package servlet;

import java.io.File;

import java.io.IOException;

import java.util.Iterator;

import java.util.List;

import java.util.UUID;

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.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

@SuppressWarnings("serial")

public class Upload extends HttpServlet {

@SuppressWarnings("unchecked")

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String savePath = this.getServletConfig().getServletContext()

.getRealPath("");

savePath = savePath + "/uploads/";

File f1 = new File(savePath);

System.out.println(savePath);

if (!f1.exists()) {

f1.mkdirs();

}

DiskFileItemFactory fac = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(fac);

upload.setHeaderEncoding("utf-8");

List fileList = null;

try {

fileList = upload.parseRequest(request);

} catch (FileUploadException ex) {

return;

}

Iterator it = fileList.iterator();

String name = "";

String extName = "";

while (it.hasNext()) {

FileItem item = it.next();

if (!item.isFormField()) {

name = item.getName();

long size = item.getSize();

String type = item.getContentType();

System.out.println(size + " " + type);

if (name == null || name.trim().equals("")) {

continue;

}

//扩展名格式:

if (name.lastIndexOf(".") >= 0) {

extName = name.substring(name.lastIndexOf("."));

}

File file = null;

do {

//生成文件名:

name = UUID.randomUUID().toString();

file = new File(savePath + name + extName);

} while (file.exists());

File saveFile = new File(savePath + name + extName);

try {

item.write(saveFile);

} catch (Exception e) {

e.printStackTrace();

}

}

}

response.getWriter().print(name + extName);

}

}

index.jsp

String path = request.getContextPath();

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

%>

Uploadify

开始上传

取消所有上传

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

Upload

servlet.Upload

Upload

/servlet/Upload

index.jsp

uploadify java实例_java uploadify 例子相关推荐

  1. uploadify java 下载_java uploadify 实现文件上传

    1.web端使用uploadify插件 下载地址:http://www.uploadify.com/wp-content/uploads/files/uploadify.zip web页面代码: 导入 ...

  2. java css网页布局实例_java代码例子

    JAVA 类名.方法名(这里面写的是什么)能不能写个代要是类名直接调用的方法,那这个方法就是静态的(static)方法,是不用new出新对象实例就可以直接调用的方法.看下面例子: class A{ p ...

  3. java 类继承实例_java继承例子代码,java类的继承示例

    下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...

  4. dropzone java实例_Java实现拖拽文件上传dropzone.js的简单使用示例代码

    Java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. 自己写的拖拽文件至一个按钮上传的功能,前端及java代码如下: js ...

  5. 多线程 java 实例_Java多线程实例学习

    1. Java多线程的就绪.运行和死亡状态 就绪状态转换为运行状态:当此线程得到处理器资源: 运行状态转换为就绪状态:当此线程主动调用yield()方法或在运行过程中失去处理器资源. 运行状态转换为死 ...

  6. java实例_Java线程方式及实例

    简介 线程创建方式由继承Thread类,实现Runnable接口,实现Callable接口通过FutureTask包装,通过线程池来创建,所以本文主要介绍Java线程方式. 继承Thread类 Thr ...

  7. json java 实例_java JSON数据转对象

    只要电脑配置了JDK, 便可使用Json2Bean, 不用导入到eclipse或android studio, 直接双击就可以打开使用, 每次使用之前要重新设置编辑规则,不用改动什么规则,点" ...

  8. 非对称性密钥加密 java 实例_JAVA实现非对称加密

    高级加密算法 双保险 公钥.私钥 DH(Diffie-Hellman)密钥交换算法 RSA - 基于因子分解 ElGamal - 基于离散对数 ECC(Elliptical Curve Cryptog ...

  9. jetty java 实例_java 在Jetty9中使用HttpSessionListener和Filter实例详解

    这篇文章主要介绍了java 在Jetty9中使用HttpSessionListener和Filter的相关资料,需要的朋友可以参考下 java 在Jetty9中使用HttpSessionListene ...

  10. java 求次方_Java递归例子——求x的y幂次方

    假设n的值大于0. 一:源程序: View Code packageone;publicclassRecursionTest {/***@paramargs*/publicstaticvoidmain ...

最新文章

  1. MetaQuast:评估宏基因组拼接
  2. gdcm::DummyValueGenerator的测试程序
  3. 免费Google地图API使用说明(转)
  4. 彩虹系统怎么弄服务器,用云服务器彩虹挂机
  5. 面试:对象的生命周期
  6. 苹果iPad新品传言来袭:iPad mini终于要换磨具了?
  7. Linq 三表 left join 的实现
  8. 安卓app开发-02-安卓app快速开发
  9. 3.3 自定义控件基础 之 View的绘制
  10. Failed to load Idlinux.c32, Boot failed: press any key to retry
  11. Power Query 系列 (05) - M 语言介绍
  12. Jena TDB Assembler
  13. 2020年12月中国编程语言排行榜 - Java地位岌岌可危
  14. 哈哈,原来这叫做“松鼠症”……并谈谈我建议的学习方法
  15. 用node-webkit接入steamAPI
  16. 安排几款实用的内网穿透工具(加教程)
  17. PS 2019 Mac版 自学入门系列(七)—— 调亮深色区域
  18. IOS-APP自动化打包上传蒲公英Shell版
  19. 关于高通QPST平台功能和选项的一些简单说明
  20. App软件开发的完整在线流程

热门文章

  1. 嵌入式C语言入门操作
  2. 支持HomeKit、NFC:智汀智能门锁SL1仅需要149元
  3. web 安全-电脑端口(全部)
  4. usb禁止重定向_USB虚拟化与重定向(一)
  5. 设计模式—生成器模式(建造者模式)
  6. Python实现四阶龙格库塔法求解Ricatti方程
  7. 漫画分销系统服务器配置,漫画分销平台哪个好?月流水30万的老手来谈谈!
  8. linux系统视屏录像_在Linux上的点击,弹出和故障排除录像
  9. IBM 存储管理软件IBM DS Linux Storage Manager安装(Linux)
  10. 函数分离常数法 oracle,2009届高三数学第一轮复习课件:函数(最新)幻灯片