使用WebUploader进行文件图片上传

官方文档:http://fex.baidu.com/webuploader/getting-started.html

引入Webuploader的css和js文件,下载地址:http://fex.baidu.com/webuploader/download.html

把下载的整个文件夹添加的项目中 

<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">

<!--引入JS-->
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>

简单demo

<div>
        <!--dom结构部分-->
            <!--用来存放item-->
            <div id="filePicker">选择图片</div>
    </div>

    <table class="vehicleImgs">
        <tr>
            <#list vehicleImg as p>
            <td>
                <img  src="${p!}" alt="预览"/>
                <span class="del_img">删除</span>
                <input type="hidden" name="vehicleImgs" value="${p!}"/>
            </td>
            </#list>
        </tr>
    </table>

    <script>
        var uploadPicsUrl = "../common/o_swfPicsUpload.do";
        // 初始化Web Uploader
        var uploader = WebUploader.create({

            // 选完文件后,是否自动上传。
            auto: true,

            //后台接收的name名
            fileVal:"Filedata",
            // swf文件路径
            swf: '${base}/thirdparty/webuploader/Uploader.swf',

            // 文件接收服务端。
            server: uploadPicsUrl,

            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建,可能是input元素,也可能是flash.
            pick: '#filePicker',

            // 只允许选择图片文件。
            accept: {
                title: 'Images',
                extensions: 'gif,jpg,jpeg,bmp,png',
                mimeTypes: 'image/*'
            }
        });
         // 当有文件添加进来的时候
           uploader.on( 'fileQueued', function( file ) {
              uploader.upload();
          });

       // 文件上传过程中创建进度条实时显示。
           uploader.on( 'uploadProgress', function( file, percentage ) {
          });


        // 文件上传成功,response为服务器返回的数据。
        uploader.on( 'uploadSuccess', function( file,response ) {
            console.log(response);
            var imgUrl=response._raw;  
            var str =$(".vehicleImgs tr").html();
            str += "<td >";
            str += "            <img  src="+imgUrl+" alt="预览"/>";
            str += "            <span class="del_img">删除</span>";
            str += "            <input type="hidden" name="vehicleImgs" value="+imgUrl+"/>";
            str += "        </td>";

            $(".vehicleImgs tr").html(str);

        });
// 文件上传失败,显示上传出错。
uploader.on( 'uploadError', function( file ) {
});
/**
 * 验证文件格式以及文件大小
 */
uploader.on("error", function (type) {
    if (type == "Q_TYPE_DENIED") {
    } else if (type == "Q_EXCEED_SIZE_LIMIT") {
    } else if (type == "F_EXCEED_SIZE") {
    }else {
    }
});

// 完成上传完了,成功或者失败,先删除进度条。
uploader.on( 'uploadComplete', function( file ) {
    $(".del_img").on('click',function () {
        $(this).parent().remove();
    })
});

uploader.on( 'all', function( type ) {
    if ( type === 'startUpload' ) {
        state = 'uploading';
    } else if ( type === 'stopUpload' ) {
        state = 'paused';
    } else if ( type === 'uploadFinished' ) {
        state = 'done';
    }

});

$(".del_img").on('click',function () {
    $(this).parent().remove();
})
</script>
原文地址:https://www.cnblogs.com/pxblog/p/12757827.html