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. app自动化测试-appium

    一.环境准备(windows) 1.安装Microsoft .NET Framework 4.5 双击运行如下文件:net4.5.1.exe 2.安装node-v6.11.4-x64.msi 双击运行 ...

  2. 函数:生成1-n的随机数组,

    方法很笨,不过可行: #include <stdio.h> /** 功能:获取一个1-n的随机数数组,这些随机数都互不相同 ** 入参:n-表示最大随机数: *randArray -用于储 ...

  3. zabbix监控实现电话报警OneAlert

    http://www.ttlsa.com/zabbix/zabbix-onealert-msg-compress/

  4. C++ vector 多次删除第一个元素

    转载声明: 代码都是来源于一下连接,做了一点点修改,为了记忆方便,故贴在这里,原文链接:http://blog.csdn.net/doctor_feng/article/details/1188078 ...

  5. ggplot2 specific command

    # By default, the same scales are used for all panels. You can allow # scales to vary across the pan ...

  6. [国家集训队2011]happiness

    Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友 ...

  7. 完全理解Android中的RemoteViews

    一.什么是RemoteViews RemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteView ...

  8. Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

    [转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object); ...

  9. Shtter抓图时,包含光标的解决方案

    1.方案一,不用双击进行截图,用Enter. 2.进行配置.

  10. activity状态的保存和恢复

    activity状态的保存和恢复 一.简介 1.保存activity状态 * 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态 * 没有ID的组件或 ...