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. WPF ListBox ItemContainerStyle 设置BackGround 和 BorderBrush 无效

    今天更改ListBox,用到ItemContainerStyle设置样式,设置Style.Triggers时,BackGround和BorderBrush均无效,其他效果正常. 翻看WPF编程宝典,发 ...

  2. gh-ost原理

    gh-ost原理 一.三种模式架构图 1.连上从库,在主库上修改 这是gh-ost默认的工作模式,它会查看从库情况,找到集群的主库并且连接上去,对主库侵入最少,大体步骤是: 在主库上创建_xxx_gh ...

  3. H5中的语义化标签

    H5中的语义化标签也就是之前的id = “header”演变而来的 只不过之前是id 现在变成了标签而已 什么是语义化: 根据内容结构化(内容语义化) 选择合适的标签(代码语义化) 便于开发者阅读和写 ...

  4. CSS 3 中的多列属性

    .column-count <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. 2062326 齐力锋 实验二《Java面向对象程序设计》实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:   程序设计与数据结构           班级:      1623           姓名:  齐力锋      学 ...

  6. discuz对PHP7不支持mysql的兼容性处理

    PHP7 废除了 ”mysql.dll” ,推荐使用 mysqli 或者 pdo_mysql,discuz对原生mysql函数做了如下处理,通过mysqli代替原mysql函数 http://blog ...

  7. Win32 API编程:网络编程在设置WSAAsyncSelect模型后connect的返回值问题

    通过WSAAsyncSelect()可以设置非阻塞异步套接字 ::WSAAsyncSelect(s, hDlg, WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE ...

  8. COS-6主存管理

    操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口.操作系统的功能包括管理计算机系统的硬件.软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限 ...

  9. codeforces 703B

    题意:有n座城市,其中k座是省会城市,每个城市有对应的点权,城市1-2-3-...-n-1有一条路相连,省会城市与其他所有的城市相连,且每两个城市间最多有一条路,每条路的边权为路连接的两座城市的点权乘 ...

  10. 查找java程序进程快速指令jps

    通过jdk1.5以后内置的一个指令,可以快速查找java进程pid,该命令是:jps 位置在:JAVA_HOME/bin/目录下面 功能 jps(Java Virtual Machine Proces ...