webuploader教程

http://www.thinkphp.cn/topic/46521.html

  1. <html>
  2.     <head>
  3.         <link rel="stylesheet" type="text/css" href="/new/public/static/webuploader.css"><!-- 引用插件css -->
  4.     </head>
  5. <body>
  6. <div id="uploader-demo">
  7.     <!--用来存放item-->
  8.         <div id="fileList" class="uploader-list">
  9.         </div>
  10.     <div id="filePicker">选择图片</div>
  11. </div>
  12. </body>
  13. <script type="text/javascript" src="/new/public/static/jquery-3.1.1.js"></script>  <!-- 引用jquery -->  
  14. <script type="text/javascript" src="/new/public/static/webuploader.js"></script>    <!-- 引用插件js -->

 

  1. <script type="text/javascript">
  2.            var $list=$("#fileList");   //这几个初始化全局的百度文档上没说明,好蛋疼
  3.            var thumbnailWidth = 100;   //缩略图高度和宽度 (单位是像素),当宽高度是0~1的时候,是按照百分比计算,具体可以看api文档  
  4.            var thumbnailHeight = 100;  
  5.            var uploader = WebUploader.create({
  6.             // 选完文件后,是否自动上传。
  7.            auto: true,
  8.             // swf文件路径
  9.            swf: '/new/public/static/uploader.swf', //加载swf文件,路径一定要对
  10.             // 文件接收服务端。
  11.             server: '{:url("index/index/upload")}',
  12.             // 选择文件的按钮。可选。
  13.             // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  14.             pick: '#filePicker',
  15.             // 只允许选择图片文件。
  16.             accept: {
  17.                 title: 'Images',
  18.                 extensions: 'gif,jpg,jpeg,bmp,png',
  19.                 mimeTypes: 'image/'
  20.             }
  21.         });
  22.       //上传完成事件监听
  23.         uploader.on( 'fileQueued', function(file) {
  24.             var $li = $(
  25.                     '<div id="' + file.id + '" class="file-item thumbnail">' +
  26.                         '<img>' +
  27.                         '<div class="info">' + file.name + '</div>' +
  28.                     '</div>'
  29.                     ),
  30.                 $img = $li.find('img');
  31.             // $list为容器jQuery实例
  32.                    $list.append( $li );
  33.             // 创建缩略图
  34.             // 如果为非图片文件,可以不用调用此方法。
  35.             // thumbnailWidth x thumbnailHeight 为 100 x 100
  36.             uploader.makeThumb( file, function( error, src ) {
  37.                 if ( error ) {
  38.                     $img.replaceWith('<span>不能预览</span>');
  39.                     return;
  40.                 }
  41.                 $img.attr( 'src', src );
  42.             }, thumbnailWidth, thumbnailHeight );
  43.         });
  44. </script>
  45. </html>

 

后端代码:

因为我是用的thinkphp5.0.7框架写的,里面封装了file类,就是完成文件的转移上传:

<?php

  1. namespace app\index\controller;
  2. use think\Controller;
  3. use think\File;
  4. class Index  extends Controller
  5. {
  6.     public function index()
  7.     {
  8.          return $this->fetch();
  9.     }
  10.     function upload(){
  11.         $file = $this->request->file('file');//file是传文件的名称,这是webloader插件固定写入的。因为webloader插件会写入一个隐藏input,不信你们可以通过浏览器检查页面
  12.         $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
  13.     }
  14. }

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注