• 大小: 334KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Java
  • 标签: java  uploadify  上传  例子  

资源简介

基于java的uploadify上传demo 例子,含注解

资源截图

代码片段和文件信息

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

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;  
/**
文件上传
步骤:
(1) 
*/
public class ProcessUpload extends HttpServlet
{
public void doPost(HttpServletRequest request HttpServletResponse response) throws ServletException IOException
{
/**/
System.out.println(“I am a serlvet to process upload!!!“);


request.setCharacterEncoding( “UTF-8“ ); // 从request中取时 以UTF-8编码解析

// 工厂 
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();

// 获取上传文件存放的 目录  无则创建
String path = request.getRealPath( “/upload“ );
System.out.println(“path : “ + path);

new java.io.File( path ).mkdir();
        /** 
         * 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上,  
         * 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tem 格式的  
         * 然后再将其真正写到 对应目录的硬盘上 
         */  
diskFileItemFactory.setRepository( new File( path ) );
        //设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室  
        diskFileItemFactory.setSizeThreshold( 1024*1024 );
        


        ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory); 
        try
        {
            // 可上传多个文件
            @SuppressWarnings(“unchecked“)
List list = (List) upload.parseRequest( request );
            for (FileItem item : list )
            {
                // 获取 提交表单的 属性名
                String name = item.getFieldName();

                // 字符串类 属性
                if ( item.isFormField() )
                {
                    String value = item.getString();
                    System.out.println(name + “=“ + value);
                } 
                // 二进制类
                else 
                {
                    // 获取上传文件的名字                   
                    String value = item.getName(); // 1获取路径                    
                    int start = value.lastIndexOf( “\\“ );// 2索引到最后一个反斜杠
                    String filename = value.substring( start+1 );//3 截取(+1是去掉反斜杠) 

                    System.out.println( name + “=“ + value );

                    File file = null;
                    do {  
                        // 生成文件名
                        start = filename.lastIndexOf( “.“ );    // 索引到最后一个点
                        filename = filename.substring( 0 start )    // 不含扩展名的文件
                                    + UUID.randomUUID().toString()  // 随机数
                                    + filename.substring( start );  // 扩展名
                        file = new File(path filename);  
                    } while (file.exists());  

                    System.out.println( “filename=“ + filename );

                    // 写到磁盘上去
                    item.write( file );

                  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-03-28 10:13  uploads\
     文件         529  2014-03-28 10:34  uploads\.classpath
     目录           0  2014-03-28 10:34  uploads\.myeclipse\
     文件         294  2014-03-28 10:34  uploads\.mymetadata
     文件        1750  2014-03-28 10:34  uploads\.project
     目录           0  2014-03-28 10:13  uploads\.settings\
     文件         500  2014-03-28 10:34  uploads\.settings\.jsdtscope
     文件         395  2014-03-28 10:34  uploads\.settings\org.eclipse.jdt.core.prefs
     文件         459  2014-03-28 10:34  uploads\.settings\org.eclipse.wst.common.component
     文件         252  2014-03-28 10:34  uploads\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2014-03-28 10:34  uploads\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2014-03-28 10:34  uploads\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2014-03-28 10:13  uploads\WebRoot\
     目录           0  2014-03-28 10:13  uploads\WebRoot\meta-INF\
     文件          36  2014-03-28 10:34  uploads\WebRoot\meta-INF\MANIFEST.MF
     目录           0  2014-03-28 10:13  uploads\WebRoot\WEB-INF\
     目录           0  2014-03-28 10:13  uploads\WebRoot\WEB-INF\classes\
     文件        3795  2014-03-28 10:34  uploads\WebRoot\WEB-INF\classes\ProcessUpload.class
     目录           0  2014-03-28 10:13  uploads\WebRoot\WEB-INF\lib\
     文件       59590  2014-03-28 10:34  uploads\WebRoot\WEB-INF\lib\commons-fileupload-1.2.2.jar
     文件      185140  2014-03-28 10:34  uploads\WebRoot\WEB-INF\lib\commons-io-2.4.jar
     文件         712  2014-03-28 10:34  uploads\WebRoot\WEB-INF\web.xml
     目录           0  2014-03-28 10:13  uploads\WebRoot\css\
     文件        2543  2014-03-28 10:34  uploads\WebRoot\css\uploadify.css
     目录           0  2014-03-28 10:13  uploads\WebRoot\img\
     文件        2960  2014-03-28 10:34  uploads\WebRoot\img\uploadify-cancel.png
     文件        4641  2014-03-28 10:34  uploads\WebRoot\index.html
     目录           0  2014-03-28 10:13  uploads\WebRoot\js\
     文件      268381  2014-03-28 10:34  uploads\WebRoot\js\jquery-1.9.1.js
     文件       61153  2014-03-28 10:34  uploads\WebRoot\js\jquery.uploadify.min.js
     文件       12767  2014-03-28 10:34  uploads\WebRoot\js\uploadify.swf
............此处省略3个文件信息

评论

共有 条评论