webuploader只選擇單張圖片

webuploader只選擇單張圖片

1、總結

一句話總結:

在WebUploader.create中配置一下pick便可
pick: {
    id: '#filePicker',
    multiple:false, 
    label: '點擊選擇圖片'
},

 

 

 

2、WebUploader 設置單個圖片上傳

轉自或參考:WebUploader 設置單個圖片上傳
https://blog.csdn.net/tuchui88/article/details/77870763javascript

 

 

 

咱們能夠看到multiple就是咱們想要的 設爲false就可,同時將fileNumLimit設爲1,具體以下css

pick: { id: '#filePicker', multiple:false, label: '點擊選擇圖片' },
fileNumLimit: 1,

這是在webuploader實例化時設置,其中id 是圖片div 的id。html

<div id="uploader-demo">
    <!--用來存放item-->
    <div id="fileList" class="uploader-list"></div>
    <div id="filePicker">選擇圖片</div>
</div>
Javas
 

3、laravel中webuploader配置實例

 

 

  1 {{--初始參數--}}
  2 <script>
  3     window.uploader_input='u_picture';
  4 </script>
  5 
  6 <!--引入CSS-->
  7 <link rel="stylesheet" type="text/css" href="/webuploader-0.1.5/webuploader.css">
  8 <!--引入JS-->
  9 <script type="text/javascript" src="/webuploader-0.1.5/webuploader.js"></script>
 10 
 11 <style>
 12     .fry_file_uploader{
 13         text-align: center;
 14         border: none;
 15         border-bottom: 1px solid #ddd;
 16         /*border-top: 1px solid #ddd;*/
 17         /*border-radius: 10px;*/
 18         margin-bottom: 10px;
 19     }
 20     .fry_file_uploader_img{
 21         width: 150px;
 22         height: 150px;
 23     }
 24     .webuploader-pick{
 25         padding: 5px 10px;
 26     }
 27 </style>
 28 
 29 
 30 
 31 {{--<!--dom結構部分-->--}}
 32 {{--<div id="uploader-demo">--}}
 33     {{--<!--用來存放item-->--}}
 34     {{--<div id="fileList" class="uploader-list"></div>--}}
 35     {{--<div id="filePicker">選擇圖片</div>--}}
 36 {{--</div>--}}
 37 
 38 
 39 <script>
 40     // 圖片上傳demo
 41     jQuery(function() {
 42         var $ = jQuery,
 43             $list = $('#fileList'),
 44             // 優化retina, 在retina下這個值是2
 45             ratio = window.devicePixelRatio || 1,
 46 
 47             // 縮略圖大小
 48             thumbnailWidth = 100 * ratio,
 49             thumbnailHeight = 100 * ratio,
 50 
 51             // Web Uploader實例
 52             uploader;
 53 
 54         // 初始化Web Uploader
 55         uploader = WebUploader.create({
 56 
 57             // 自動上傳。
 58             auto: true,
 59 
 60             // swf文件路徑
 61             swf: '/webuploader-0.1.5/Uploader.swf',
 62 
 63             formData: {
 64                 // 這裏的token是外部生成的長期有效的,若是把token寫死,是能夠上傳的。
 65                 _token:'{{csrf_token()}}'
 66             },
 67 
 68             // 文件接收服務端。
 69             server: '/component/uploader',
 70 
 71             // 選擇文件的按鈕。可選。
 72             // 內部根據當前運行是建立,多是input元素,也多是flash.
 73 
 74             pick: {
 75                 id: '#filePicker',
 76                 multiple:false,
 77                 label: '選擇圖片'
 78             },
 79             // fileNumLimit: 1,
 80 
 81             // 只容許選擇文件,可選。
 82             accept: {
 83                 title: 'Images',
 84                 extensions: 'gif,jpg,jpeg,bmp,png',
 85                 mimeTypes: 'image/*'
 86             }
 87         });
 88 
 89         // 當有文件添加進來的時候
 90         uploader.on( 'fileQueued', function( file ) {
 91             var $li = $(
 92                 '<div id="' + file.id + '" class="fry_file_uploader file-item thumbnail">' +
 93                 '<img class="fry_file_uploader_img">' +
 94                 '<div class="info">' + file.name + '</div>' +
 95                 '</div>'
 96                 ),
 97                 $img = $li.find('img');
 98             $('#fileList').html('');
 99             $list.append( $li );
100 
101             // 建立縮略圖
102             uploader.makeThumb( file, function( error, src ) {
103                 if ( error ) {
104                     $img.replaceWith('<span>不能預覽</span>');
105                     return;
106                 }
107 
108                 $img.attr( 'src', src );
109             }, thumbnailWidth, thumbnailHeight );
110         });
111 
112         // 文件上傳過程當中建立進度條實時顯示。
113         uploader.on( 'uploadProgress', function( file, percentage ) {
114             var $li = $( '#'+file.id ),
115                 $percent = $li.find('.progress span');
116 
117             // 避免重複建立
118             if ( !$percent.length ) {
119                 $percent = $('<p class="progress"><span></span></p>')
120                     .appendTo( $li )
121                     .find('span');
122             }
123 
124             $percent.css( 'width', percentage * 100 + '%' );
125         });
126 
127         // 文件上傳成功,給item添加成功class, 用樣式標記上傳成功。
128         uploader.on( 'uploadSuccess', function( file,response ) {
129 
130             //console.log(file);
131             $( '#'+file.id ).addClass('upload-state-done');
132             //上傳成功了
133             if(response.valid){
134                 $('#'+window.uploader_input).val(response.message);
135                 layer_alert_fail_mobile('圖片上傳成功');
136             }else{
137                 layer_alert_fail_mobile(response.message);
138             }
139         });
140 
141         // 文件上傳失敗,現實上傳出錯。
142         uploader.on( 'uploadError', function( file ) {
143             var $li = $( '#'+file.id ),
144                 $error = $li.find('div.error');
145 
146             // 避免重複建立
147             if ( !$error.length ) {
148                 $error = $('<div class="error"></div>').appendTo( $li );
149             }
150 
151             $error.text('上傳失敗');
152         });
153 
154         // 完成上傳完了,成功或者失敗,先刪除進度條。
155         uploader.on( 'uploadComplete', function( file ) {
156             $( '#'+file.id ).find('.progress').remove();
157         });
158     });
159 </script>
相關文章
相關標籤/搜索