一:官网

http://www.uploadify.com/

二:引用

<link href="plug-in/uploadify3.2.1/uploadify.css" rel="stylesheet" />
<script type="text/javascript" src="plug-in/uploadify3.2.1/jquery.uploadify.min.js"></script>

三:例子

(1)前台页面

<tr>
        <td align="right">
            <label class="Validform_label"> 主题图: </label>
        </td>
        <td class="value">
             <input id="subjectMap" name="subjectMap" type="hidden" datatype="*" />
             <table>
                <tr>
                    <td>
                        <input type="file" name="upload_org_code" id="upload_org_code"/>
                    </td>
                    <td>
                       <img  id="upload_org_code_img" src="" width="216" height="135">
                       <a  id="del" style="display: none;" href="#" onclick="del()">删除</a>
                    </td>
                </tr>
             </table>
             <span class="Validform_checktip">建议尺寸:720*360</span>
        </td>
</tr>

(2)上传JS

setTimeout(function(){
         $("#upload_org_code").uploadify({
                    'height'        : 27,
                    'width'         : 80,
                    'buttonText'    : '图片上传',
                    'swf'           : 'plug-in/uploadify3.2.1/uploadify.swf',
                    'uploader'      : 'rouletteController.do?objUpload',
                    'auto'          : true,
                    'multi'         : false,
                    'removeCompleted':true,
                    'removeTimeout' : 1,
                    'cancelImg'     : 'plug-in/uploadify3.2.1/uploadify-cancel.png',
                    'fileTypeExts'  : '*.jpg;*.jpge;*.gif;*.png',
                    'fileSizeLimit' : '2MB',
                    'onUploadSuccess':function(file,data,response){
                        var json = eval('(' + data + ')');
                        var url=json.attributes.visiturl+json.attributes.fileName;
                        $("#upload_org_code_img").attr("src",url);
                        $("#subjectMap").val(json.attributes.fileName);
                        $("#del").attr("style","display: block;");
                    },
                    //加上此句会重写onSelectError方法【需要重写的事件】
                    'overrideEvents': ['onSelectError', 'onDialogClose'],
                    //返回一个错误,选择文件的时候触发
                    'onSelectError':function(file, errorCode, errorMsg){
                        switch(errorCode) {
                            case -110:
                                alert("文件 ["+file.name+"] 大小超出系统限制的" +
                    jQuery('#upload_org_code').uploadify('settings', 'fileSizeLimit') + "大小!");
                                break;
                            case -120:
                                alert("文件 ["+file.name+"] 大小异常!");
                                break;
                            case -130:
                                alert("文件 ["+file.name+"] 类型不正确!");
                                break;
                        }
                    },
                });
           },10)

(3)上传后台代码

/****
     * 图片上传
     **/
    @RequestMapping(params = "objUpload")
    @ResponseBody
    public AjaxJson objUpload(HttpServletRequest request) throws Exception {
        AjaxJson j = new AjaxJson();
        Map<String, Object> attributes = new HashMap<String, Object>();
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        String tomcaturl = PropertiesConfig.getStringConfig("tomcaturl");
        String roulette_sub_url = PropertiesConfig.getStringConfig("roulette_sub_url");
        String visiturl = PropertiesConfig.getStringConfig("visiturl");
        // 创建文件夹
        File file = new File(tomcaturl+roulette_sub_url);
        if (!file.exists()) {
            file.mkdirs();
        }
        String fileName = null;
        //String path = null;
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 上传文件名
            MultipartFile mf = entity.getValue();
            fileName = mf.getOriginalFilename();
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1)
                    .toLowerCase();
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            String newFileName = "roulette_" + df.format(new Date()) +"_bak"+ "." + fileExt;
            File uploadFile = new File(tomcaturl+roulette_sub_url+newFileName);
            try {
                FileCopyUtils.copy(mf.getBytes(), uploadFile);
                fileName = roulette_sub_url+newFileName;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        attributes.put("visiturl", visiturl);
        attributes.put("fileName", fileName);
        j.setAttributes(attributes);
        return j;
    }

JQuery上传插件Uploadify的更多相关文章

  1. JQuery上传插件uploadify优化

    旧版的uploadify是基于flash上传的,但是总有那么些问题,让我们用的不是很舒服.今天主要分享下在项目中用uploadify遇到的一些问题,以及优化处理 官方下载 官方文档 官方演示 下面是官 ...

  2. jquery上传插件uploadify 报错http error 302 解决方法之一

    前段时间用到jquery上传插件uploadify时,始终出现系统报出 http error 302 的错误. 网上大量搜集信息,基本上都是说session值丢失的问题,根据网友提供的解决方案进行修改 ...

  3. 【转】JQuery上传插件Uploadify使用详解及错误处理

    转自:http://www.jb51.net/article/43498.htm 关于JQuery上传插件Uploadify使用详解网上一大把,基本上内容都一样.我根据网上的步骤配置完成后,会报一些错 ...

  4. JQuery上传插件Uploadify使用详解

    本文转载http://www.cnblogs.com/oec2003/archive/2010/01/06/1640027.html Uploadify是JQuery的一个上传插件,实现的效果非常不错 ...

  5. (转)JQuery上传插件Uploadify使用详解

    原文地址:http://www.cnblogs.com/oec2003/archive/2010/01/06/1640027.html Uploadify是JQuery的一个上传插件,实现的效果非常不 ...

  6. jQuery上传插件Uploadify使用帮助

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.它的功能特色总结如下: 支持单文件或多文件上传,可控制并发上传的文件数 在服务器端支持各种语言与之配合使用,诸如PHP, ...

  7. JQuery上传插件Uploadify使用详解 asp.net版

    先来一个实例 Uploadify插件是JQuery的一个文件支持多文件上传的上传插件,ajax异步上传,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadif ...

  8. 文件上传利器JQuery上传插件Uploadify

    在做日常项目中,经常在后台需要上传图片等资源文件,之前使用过几次这个组件,感觉非常好用 ,但是每次使用的时候都是需要经过一番查阅,所以还不如记住在这里,以后使用的时候就翻翻. 他的官方网站如下:htt ...

  9. jQuery上传插件Uploadify 3.2在.NET下的详细例子

    项目中要使用Uploadify 3.2来实现图片上传并生成缩略通的功能,特此记下来,以供各位参考! Uploadify下载地址:http://www.uploadify.com/download/ 下 ...

  10. JQuery上传插件Uploadify详解及其中文按钮解决方案 .

    Uploadify有一个参数是 buttonText 这个无论你怎么改都不支持中文,因为插件在js里用了一个转码方法把这个参数的值转过码了,解码的地方在那个swf文件里,看不到代码,所以这条路不行. ...

随机推荐

  1. [一]初识SpringMVC

    是什么? web开发框架 为什么用? 功能强大 怎么做? 1.导入jar包 2.配置web.xml <?xml version="1.0" encoding="UT ...

  2. testlink邮件设置(centos 7)

    上一篇文章在centos 7上安装了testlink(CentOS 7下安装xampp和testlink),本篇进行邮件设置,可在进行testlink密码修改.用例指派时进行邮件通知 1.修改conf ...

  3. Java RMI之介绍

    http://zh.wikipedia.org/wiki/Java_RMI Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里, ...

  4. socket编程——一个简单的样例

    从一个简单的使用TCP样例開始socket编程,其基本过程例如以下: server                                                  client ++ ...

  5. IC芯片

    5.8寸显示屏/LB058WQ1(SD)01LG2 74HC04 0.3NXP10K    74HC138 0.37NXP20K    74HC245 0.52NXP30K    74HC595 明威 ...

  6. cglib源码分析(三):Class生成策略

    cglib中生成类的工作是由AbstractClassGenerator的create方法使用相应的生成策略完成,具体代码如下: private GeneratorStrategy strategy ...

  7. Android中的Handler的机制与用法详解

    概述: 很多android初学者对android 中的handler不是很明白,其实Google参考了Windows的消息处理机制, 在Android系统中实现了一套类似的消息处理机制.在下面介绍ha ...

  8. Python中如何写控制台进度条的整理

    本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n ...

  9. 加快modelsim仿真速度的方法(原创)

    ①仿真精度越高,仿真效率月底. 仿真时采用`timescale 1ns/1ns比采用1ns/100ps的仿真效率高 simulation was two billion ns. ②clock gene ...

  10. js验证

    验证短日期(2007-06-05) function strDateTime(str) {    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1 ...