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. CC3中的2D转换

    2D转换方法: translate() rotate() scale() skew() matrix() 1.translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动 ...

  2. CSS3 3D旋转动画菜单

    在线演示 本地下载

  3. 20145120黄玄曦《网络对抗》Web安全基础实践

    20145120黄玄曦<网络对抗>Web安全基础实践 回答问题 (1)SQL注入攻击原理,如何防御 SQL注入原理简单地说大概是,通过构造特殊的SQL命令提交表单,让服务器执行构造的恶意S ...

  4. ReactNative之Android打包APK方法(趟坑过程)

    欢迎大家加群讨论 点击链接加入群[ReactNative-解决问题交流群] :644124441 点击链接加入群[ReactNative技术交流群2] :687663534 多余的不解释了.直接上车吧 ...

  5. mysql配置文件生效顺序

    安装完数据库 除了将my.cnf放在/etc/下放在其他地方也是可以的 cp /usr/share/mysql/my-default.cnf /etc/my.cnf 今天就看一下这些my.cnf是怎么 ...

  6. windows 环境下安装python MySQLdb

    使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...

  7. Java数据类型——面试题

    1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错? 答:对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表 ...

  8. Elasticsearch 配置优化

    cluster.routing.allocation.same_shard.host:true 这会防止同一个shard的主副本存在同一个物理机上(因为如果存在一个机器上,副本的高可用性就没有了). ...

  9. "下载"文件夹的desktop.ini

    下载 [.ShellClassInfo] LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21798 IconResource=%S ...

  10. linux应用之wget命令详解

    wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget linuxsense.org/xxxx/xxx.tar.gz" ...