webuploader

Posted phpfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webuploader相关的知识,希望对你有一定的参考价值。

近日项目中用到了百度的图片上传插件。有很多人第一次估计不知道应该如何使用,下面详细介绍如何将webuploader引入到项目中:

单次支持最大上传300张图片,不得不说功能强大。

官网下载地址:http://fex.baidu.com/webuploader/

下载下来解压后你会看到如下文件

技术分享图片

直接将这个文件夹丢在项目中public/admin/webuploader下

官网说了我们需要引入

  1.  
    <!--引入CSS-->
  2.  
    <link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
  3.  
     
  4.  
    <!--引入JS-->
  5.  
    <script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
  6.  
     
  7.  
    <!--SWF在初始化的时候指定,在后面将展示-->

 

然后你还需要一个html容器来选择需要上传的图片

 

  1.  
    <div id="wrapper">
  2.  
    <div id="container">
  3.  
    <!--头部,相册选择和格式选择-->
  4.  
    <div id="uploader">
  5.  
    <div class="queueList">
  6.  
    <div id="dndArea" class="placeholder">
  7.  
    <div id="filePicker"></div>
  8.  
    <p>或将照片拖到这里,单次最多可选300张</p>
  9.  
    </div>
  10.  
    </div>
  11.  
    <div class="statusBar" style="display:none;">
  12.  
    <div class="progress">
  13.  
    <span class="text">0%</span>
  14.  
    <span class="percentage"></span>
  15.  
    </div><div class="info"></div>
  16.  
    <div class="btns">
  17.  
    <div id="filePicker2"></div><div class="uploadBtn">开始上传</div>
  18.  
    </div>
  19.  
    </div>
  20.  
    </div>
  21.  
    </div>
  22.  
    </div>

当你将上述CSS,JS,HTML引入项目中后可能会出现页面无任何显示的情况,这时候你需要这样做(注意jquery.js与webuploader.js的引入顺序)

 

技术分享图片

你或许会好奇SWF文件没有引入,其实SWF文件在upload.js里面进行了引入技术分享图片

接下来贴出全部代码:(这是批量上传,官网演示的其他上传类型同理)

 

  1.  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2.  
    <html lang="en">
  3.  
    <head>
  4.  
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  5.  
    <title>WebUploader演示</title>
  6.  
    <link rel="stylesheet" type="text/css" href="//你的路径webuploader.css" />
  7.  
    <link rel="stylesheet" type="text/css" href="//你的路径webuploader/examples/image-upload/style.css" />
  8.  
    </head>
  9.  
    <body>
  10.  
    <div id="wrapper">
  11.  
    <div id="container">
  12.  
    <!--头部,相册选择和格式选择-->
  13.  
    <div id="uploader">
  14.  
    <div class="queueList">
  15.  
    <div id="dndArea" class="placeholder">
  16.  
    <div id="filePicker"></div>
  17.  
    <p>或将照片拖到这里,单次最多可选300张</p>
  18.  
    </div>
  19.  
    </div>
  20.  
    <div class="statusBar" style="display:none;">
  21.  
    <div class="progress">
  22.  
    <span class="text">0%</span>
  23.  
    <span class="percentage"></span>
  24.  
    </div><div class="info"></div>
  25.  
    <div class="btns">
  26.  
    <div id="filePicker2"></div><div class="uploadBtn">开始上传</div>
  27.  
    </div>
  28.  
    </div>
  29.  
    </div>
  30.  
    </div>
  31.  
    </div>
  32.  
    <script type="text/javascript" src="//你的路径webuploader/examples/image-upload/jquery.js"></script>
  33.  
    <script type="text/javascript" src="//你的路径webuploader/dist/webuploader.js"></script>
  34.  
    <script type="text/javascript" src="//你的路径webuploader/examples/image-upload/upload.js"></script>
  35.  
    </body>
  36.  
    </html>

演示效果如下:

 

技术分享图片

支持旋转和删除和上传前的预览
技术分享图片

当然有小伙伴可能会问上传的路由在哪里,如下,upload.js140行左右。只需要将server改成你的目标路由就好啦

技术分享图片

在上传时我们可以打开网络控制台

 

技术分享图片

我们可以看到请求里面包含了上传图片的MIME类型与图片类型以及form-data属性name=file。name在控制器里我们只需要一句代码就可以接收到上传过来的图片,从而进行后续操作

 

$file = request()->file(‘file‘);

 




以上是关于webuploader的主要内容,如果未能解决你的问题,请参考以下文章

webuploader怎么只能上传一个文件

如何让webuploader上传之前进行验证

对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

上传插件(WebUploader)

webuploader用java怎么接收

项目相关MVC中将WebUploader进行封装