package com.bdqn.zhp.util;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletConfig;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.File;

import com.jspsmart.upload.Request;

import com.jspsmart.upload.SmartUpload;

public class MyUpload {

    

    private Request request;

    private String fileName;

    private String[] fileNames;

    private SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS");

    private static int count;

    

    public int getCount(){

        count++;

        if(count>=1000){

            count=0;

        }

        return count;

    }

    

    

    public void upload(ServletConfig config,HttpServletRequest request,HttpServletResponse response){

                try {

                    //文件上传

                    SmartUpload su = new SmartUpload();

                    

//                    su.setMaxFileSize(1000);

                    

                    

                    su.initialize(config, request, response);

                    su.setMaxFileSize(1024);

                    su.setAllowedFilesList("PNG,png");//只允许上传的文件类型

                    su.upload();

                                

                    this.request = su.getRequest();

                    

                    File file =  su.getFiles().getFile(0);

                    

                    //获取客户端选择文件名称

//                    fileName = file.getFileName();

                    

                    //文件重命名

                    String ext = file.getFileExt();///获取文件原有扩展名

//                    saveFileName = System.currentTimeMillis()+"."+ext;

                    fileName = format.format(new Date())+getCount()+"."+ext;

                    

                    //文件另存为 到upload文件夹中

                    file.saveAs("upload/"+fileName);

                    

                    

                } catch (Exception e) {

                    // TODO Auto-generated catch block

                    e.printStackTrace();

                }

    }

    

    /**

     * 多文件上传

     * @param config

     * @param request

     * @param response

     */

    public void uploads(ServletConfig config,HttpServletRequest request,HttpServletResponse response){

        try {

            //文件上传

            SmartUpload su = new SmartUpload();

            su.initialize(config, request, response);

            su.upload();

            

            

            this.request = su.getRequest();

            

            //获取文件个数

            int count = su.getFiles().getCount();

            

            fileNames = new String[count];

            

            for(int i=0;i<count;i++){

                File file =  su.getFiles().getFile(i);

                //文件重命名

                String ext = file.getFileExt();///获取文件原有扩展名

                fileNames[i] = format.format(new Date())+getCount()+"."+ext;

                

                //文件另存为 到upload文件夹中

                file.saveAs("upload/"+fileNames[i]);

            }

            

            

            

            

            

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

}

    

    public Request getRequest(){

        return request;

    }

    public String getFileName(){

        return fileName;

    }

    public String[] getFileNames() {

        return fileNames;

    }

    public void setFileNames(String[] fileNames) {

        this.fileNames = fileNames;

    }

    

}

文件上传smart的更多相关文章

  1. java web(四)文件上传与下载

     一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...

  2. SpringMVC 之文件上传 MultipartResolver

    基于前面文章的基础上. 一.准备 需要的jar  二.配置 1.  spmvc-servlet.xml <?xml version="1.0" encoding=" ...

  3. MultipartResolver 文件上传

    SpringMVC 中文件上传 MultipartResolver 博客分类: SpringMVC - 基础篇   基于前面文章的基础上. 一.准备 需要的jar  二.配置 1.  spmvc-se ...

  4. JSP文件上传--Smartupload组件

    把smartupload.jar copy到D:\apache-tomcat-7.0.57\lib下. 创建htm上传文件:smartupload_demo01.htm 由于是上传文件,需要对表单进行 ...

  5. 整合MVC实现文件上传

    1.整合MVC实现文件上传整合MVC实现文件上传在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,文件上传完毕之后需要将提交的基本信息插入数据库,那么我们来实现这个操作.整个MVC实 ...

  6. Java基础——Servlet(八)文件上传下载

    一.简单的文件上传常见的组件Smartupload , Apache 的 commons FileUploadSmartupload上传的步骤: 1.初始化上传上下文 2.准备上传 3.保存文件 &l ...

  7. SmartUpload文件上传组件的使用教程

    在项目中使用SmartUpload组件可以进行文件的上传和下载操作 使用步骤 1.导入jar包,进行build path操作 2.编写文件上传页面,代码如下 <form action=" ...

  8. 混合表单文件上传到数据库(基于TOMCAT)

    在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库. 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上 ...

  9. java基础篇---文件上传(smartupload组件)

    文件上传几乎是所有网站都具有的功能,用户可以将文件上传到服务器的指定文件夹中,也可以保存在数据库中,本篇主要说明smartupload组件上传. 在讲解smartupload上传前,我们先来看看不使用 ...

随机推荐

  1. ng-click得到当前元素,

    直接上代码: <!DOCTYPE html> <html> <head> <title></title> <script src=&q ...

  2. What is CRC and how does it works?

    What is CRC and how does it works? CRC errors refer to Layer 1 or 2 issues. Two things you should ch ...

  3. notepad++使用正则表达式的查找替换

    使用正则表达式可以很好地完成很多繁琐耗时的工作,以下抄录editplus正则表达式的使用,同样适用于notepad++:表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边 ...

  4. 织梦导航 currentstyle 点击li添加class类 样式

    <!--导航开始--> <div class="global_nav_wrap"> <ul class="nav nav-pills&quo ...

  5. spark学习13(spark RDD)

    RDD及其特点 1)RDD(Resillient Distributed Dataset)弹性分布式数据集,是spark提供的核心抽象.它代表一个不可变.可分区.里面的元素可并行计算的集合 2)RDD ...

  6. segment fault本质

    要谈segment fault,必须要谈指针. 指针的本质是什么?只不过是一种带*的数据类型,其特色有: 1.宽度 2.声明 3.赋值 4.++与-- 5.+与- 6.求差值 7.比较 当声明int ...

  7. echarts3结合openlayers2实现Map类型图表

    网上查阅了部分资料,有些是用echarts2实现的,因echarts2无法满足项目中其他部分的要求,故只能采用echarts3(2017/9/18,echarts3官网突然把基于geo的demo下架了 ...

  8. 给定字符串数组,用map的key保存数组中字符串元素,value保存字符串元素出现次数,最后统计个字符串元素出现次数

    import java.util.HashMap; public class map1 { public static void main(String[] args) { String[] arra ...

  9. ASC和字符转化,整形和String转化

    public class ASCTest { public static void main(String[] args) { /* 区别这两种 String s = "123"; ...

  10. React菜鸟食谱

    JSX 用小括号包裹代码防止分号自动插入的bug,用大括号包裹里面的表达式 切记你使用了大括号包裹的 JavaScript 表达式时就不要再到外面套引号了.JSX 会将引号当中的内容识别为字符串而不是 ...