`
mushme
  • 浏览: 789446 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

uploadify上传文件

 
阅读更多
主要代码1.上传的页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <head>
        <base href="<%=basePath%>">
        <title>Uploadify</title>
        <link href="css/default.css" rel="stylesheet" type="text/css" />
        <link href="css/uploadify.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
        <script type="text/javascript" src="js/swfobject.js"></script>
        <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $("#uploadify").uploadify({
                'uploader'       : 'js/uploadify.swf',
                'script'         : '/zanwork/upload.up;jsessionid=<%=session.getId()%>',
                'cancelImg'      : 'images/cancel.png',
                'folder'         : 'uploads',
                'queueID'        : 'fileQueue',
                'auto'           : false,//是否自动上传
                'multi'          : true,
                'fileDesc':'请选择rar doc pdf文件',
                'sizeLimit': 1000*1024, // 注意这里,这里是文件大小。。。
                'fileExt':'*.doc;*.pdf;*.rar;*.zip',
                'height'         : 34,   
	            'width'          : 118,
                'buttonImg'      : 'images/img_select.jpg',//按钮的图片
                'simUploadLimit' : 2,
                'wmode'          : 'transparent' ,   
                onComplete       : function (event, queueID, fileObj, response, data)
                {    
                  alert(response); 
                  },    
                onError          : function(event, queueID, fileObj){ 
                   alert("文件:" + fileObj.name + " 上传失败1");} 
            });
             $("#uploadify2").uploadify({
               'uploader'       : 'js/uploadify.swf',
               'script'         : '/zanwork/upload.up;jsessionid=<%=session.getId()%>',
               'cancelImg'      : 'images/cancel.png',
               'folder'         : 'uploads',
               'auto'           : false,
               'multi'          : true,
                'sizeLimit': 1000*1024, // 注意这里,这里是文件大小。。。
               'simUploadLimit' : 2,
                 'fileDesc':'请选择rar doc pdf文件',
                'fileExt':'*.doc;*.pdf;*.rar',
                'height'         : 34,   
	            'width'          : 118,
                'buttonImg'      : 'images/img_select.jpg', 
                'wmode'          : 'transparent',   
                onComplete       : function (event, queueID, fileObj, response, data){  
                $("#fileA").val(response);//此处可以处理返回的数据
                },    
                onError          : function(event, queueID, fileObj){ 
                   alert("文件:" + fileObj.name + " 上传失败2");} 
              });
        });
        </script>
    </head>
    <body>
        <!--  -->
        <div id="fileQueue"></div>
        <input type="file" name="uploadify" id="uploadify" />
        <p>
        <a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;
        <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
        </p>
        
        <input type="file" name="uploadify2" id="uploadify2" />
        <p>
        <a href="javascript:jQuery('#uploadify2').uploadifyUpload()">上传</a>&nbsp;
        <a href="javascript:jQuery('#uploadify2').uploadifyClearQueue()">取消所有上传</a>
        </p>
        <input type="text" id="fileA" />
    </body>
</html>

2.配置一个上传文件的东西,html是没法上传的,所以你需要一个上传的servlet
package servlet;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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;

@SuppressWarnings("serial")
public class Upload extends HttpServlet {
    @SuppressWarnings("unchecked")
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    	System.out.println("执行到后台了。");
        String savePath = this.getServletConfig().getServletContext()
                .getRealPath("");
        savePath = savePath + "/uploads/";
        File f1 = new File(savePath);
        //System.out.println(savePath);
        if (!f1.exists()) {
            f1.mkdirs();
        }
        DiskFileItemFactory fac = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(fac);
        upload.setHeaderEncoding("UTF-8");
        List fileList = null;
        try {
            fileList = upload.parseRequest(request);
        } catch (FileUploadException ex) {
            return;
        }
        Iterator<FileItem> it = fileList.iterator();
        String name = "";
        String extName = "";
        while (it.hasNext()) {
            FileItem item = it.next();
            if (!item.isFormField()) {
                name = item.getName();
                long size = item.getSize();
                String type = item.getContentType();
                //System.out.println(size+"字节" + " " + type);
                if (name == null || name.trim().equals("")) {
                    continue;
                }
                //扩展名格式:
                if (name.lastIndexOf(".") >= 0) {
                    extName = name.substring(name.lastIndexOf("."));
                }
                File file = null;
                do {
                    //生成文件名:
                    name = UUID.randomUUID().toString().replaceAll("-", "");//删除uuid的-
                    file = new File(savePath + name + extName);
                } while (file.exists());
                File saveFile = new File(savePath + name + extName);
                try {
                    item.write(saveFile);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        response.getWriter().print(name + extName);
    }
}

3.然后你要配置此servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>upload</servlet-name>
        <servlet-class>servlet.Upload</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>upload</servlet-name>
        <url-pattern>/zanwork/upload.up</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

4.大功告成,你的还不行,那试试我的吧。
分享到:
评论

相关推荐

    HTML5 PHP jquery uploadify上传文件

    HTML5 PHP jquery uploadify上传文件,带进度条,author:吕大豹。仿照uploadify写的,www.codesc.net已做过修正,本例的配置参数均与uploadify官网一致,参照官网的api就可以了,直接把文件夹上传到支持php的服务器...

    uploadify上传文件HTTP ERROR

    "uploadify上传文件HTTP ERROR"这个标题指向了一个特定的问题,即用户在尝试使用Uploadify插件进行文件上传时遇到了HTTP错误。Uploadify是一款流行的JavaScript插件,它允许用户通过异步方式上传文件到服务器,提供...

    uploadify多文件上传例子代码

    当uploadify上传文件时,会发送多个HTTP请求,每个请求对应一个文件。在doPost方法中,你可以通过Part接口来接收并处理这些文件。例如: ```java protected void doPost(HttpServletRequest request, ...

    Struts2+uploadify上传文件

    Struts2和Uploadify是两种在Web开发中用于文件上传的技术。...以上就是关于"Struts2+uploadify上传文件"的知识点详解,希望对你的学习有所帮助。在实际开发中,结合这两个工具可以实现高效、灵活的文件上传功能。

    jquery-java-ajax-uploadify上传文件

    在IT行业中,前端开发经常会遇到文件上传的需求,而"jquery-java-ajax-uploadify上传文件"是一个经典的方法,结合了JavaScript库jQuery、Ajax技术以及Uploadify插件来实现这一功能。在这个过程中,我们将深入探讨...

    使用Jquery.uploadify上传文件(JAVA版)

    使用Jquery.uploadify上传文件。 jquery有很多插件,其中也有不少上传文件的插件,像ajaxfileupload.js、uploadify.js,不过网上的例子几乎全是php的,很郁闷,研究了半天,终于把uploadify用jsp版本弄出来了

    MVC4下对话框中使用Uploadify上传多个文件

    6. **处理上传结果**:在`onUploadSuccess`事件中,我们可以根据后端返回的数据更新页面,例如显示已上传文件的列表。 至此,我们完成了在MVC4中使用JQuery Dialog和Uploadify进行多文件上传的基本流程。请注意,...

    使用uploadify上传文件

    此外,Uploadify还支持多种自定义设置,例如限制上传文件类型、大小、更改按钮文本等,这为我们提供了高度的灵活性来适应不同的项目需求。 总结来说,Uploadify是一个强大的jQuery文件上传插件,能够帮助开发者实现...

    spring mvc uploadify上传文件

    此外,需要确保上传文件的安全性,防止恶意文件上传,例如检查文件扩展名、执行文件内容扫描等。 ### 7. 性能优化 对于大量文件上传,可以考虑使用异步处理、分片上传、多线程等方式提高上传性能。同时,合理配置...

    C# uploadify文件上传.zip

    在C#编程环境中,Uploadify是一个非常流行的JavaScript库,它与服务器端的C#代码结合,用于实现用户友好的文件上传功能。这个压缩包“C# uploadify文件上传.zip”很可能是包含了一个完整的示例项目,帮助开发者了解...

    Grails结合uploadify上传文件的简单代码

    uploadify则是一个JavaScript库,它允许用户通过异步方式上传文件,提供友好的用户体验。 首先,我们需要在Grails项目中引入uploadify。这通常涉及到在`build.gradle`或`Config.groovy`文件中添加对应的依赖。对于...

    jquery.uploadify上传文件

    在网页开发中,用户经常需要上传文件,例如图片、文档等。jQuery Uploadify是一款强大的JavaScript插件,它允许用户通过异步方式实现多文件的同时上传,极大地提升了用户体验。这个插件以其易用性、自定义性和高效的...

    PHP+UploadiFy批量上传文件

    避免恶意文件上传,如通过检查文件头、限制上传文件类型、使用白名单等方法。 6. **优化性能**:对于大量文件上传,可能需要考虑分批处理,使用异步队列,或者使用多线程上传以提高效率。 总结起来,使用PHP和...

    Uploadify上传文件方法

    以下是对Uploadify上传文件方法及其在ASP.NET中的使用的详细说明: 1. **Uploadify基本使用** - 首先,你需要在HTML页面中引入jQuery库、jQuery EasyUI(可选,用于美化界面)以及Uploadify的JavaScript和CSS文件...

    jQuery uploadify上传文件(JAVA版+Struts2即时预览效果)

    首先,jQuery uploadify是一款优秀的前端文件上传插件,它允许用户通过Ajax方式异步上传文件,提供了友好的用户体验,如进度条显示、多文件上传等。然而,官方提供的示例主要是基于PHP的,对于Java开发者来说,寻找...

    jquery文件上传插件 jquery.uploadify.js 不支持IE10现在经过修改

    在IT行业中,jQuery Uploadify.js是一款非常流行的前端文件上传插件,它允许用户通过异步方式上传文件到服务器,提供了一种友好的用户体验。然而,随着浏览器版本的更新,一些较旧的插件可能不再兼容新的浏览器,...

    Uploadify上传文件

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示,可多文件上传

    Java调用uploadify实现文件上传Demo实现

    Java调用uploadify实现文件上传Demo实现,文档参见:http://www.mbaike.net/java/1940.html

Global site tag (gtag.js) - Google Analytics