亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

Laravel中前端js上傳圖片到七牛云的示例代碼

2024-05-05 00:00:00
字體:
來源:轉載
供稿:網友

以下Laravel中使用瀏覽器端上傳圖片到七牛云,下面只是做一些簡單的流程實例。

1. 首先引入相應的js文件,下面是通過CDN引入的StaticfileCDN,當然也有其他很多方式下載, bower,git,官網的SDK
七牛js基于Plupload插件封裝,所以需要下載Plupload,建議使用 2.1.1 ~ 2.1.9。

<script src="https://cdn.staticfile.org/jquery/2.2.1/jquery.min.js"></script><script src="https://cdn.staticfile.org/plupload/2.1.9/moxie.js"></script><script src="https://cdn.staticfile.org/plupload/2.1.9/plupload.dev.js"></script><script src="https://cdn.staticfile.org/qiniu-js-sdk/1.0.14-beta/qiniu.min.js"></script>

2.創建一個選擇文件的按鈕

  <div id="container">    <a class="btn btn-default btn-lg " id="pickfiles" href="#" rel="external nofollow" >      <span>選擇文件</span>    </a>  </div>

3.初始化 uploader

(請確保在執行初始化時,頁面已經引入 plupload),這里我們需要一個uptoken上傳憑證,這個需要php后端生成提供。一會下面我們來說怎么獲取token。

  function uploaderReady(token) {    console.log(token);    var uploader = Qiniu.uploader({      runtimes: 'html5,flash,html4',   // 上傳模式,依次退化      browse_button: 'pickfiles',   //上傳按鈕的ID      uptoken: token, // uptoken是上傳憑證,由其他程序生成     // uptoken_url: '/uptoken',    // Ajax請求uptoken的Url,強烈建議設置(服務端提供)     // uptoken_func: function(){    // 在需要獲取uptoken時,該方法會被調用     //  // do something     //  return uptoken;     // },      get_new_uptoken: false,       // 設置上傳文件的時候是否每次都重新獲取新的uptoken      unique_names: true,       // 默認false,key為文件名。若開啟該選項,JS-SDK會為每個文件自動生成key(文件名)      //save_key: true,         // 默認false。若在服務端生成uptoken的上傳策略中指定了sava_key,則開啟,SDK在前端將不對key進行任何處理      domain: 'http://ovngj7u9c.bkt.clouddn.com',  // bucket域名,下載資源時用到,必需      container: 'container',       // 上傳區域DOM ID,默認是browser_button的父元素      max_file_size: '100mb',       // 最大文件體積限制      flash_swf_url: 'path/of/plupload/Moxie.swf', //引入flash,相對路徑      max_retries: 1,           // 上傳失敗最大重試次數      dragdrop: true,           // 開啟可拖曳上傳      drop_element: 'container',     // 拖曳上傳區域元素的ID,拖曳文件或文件夾后可觸發上傳      chunk_size: '4mb',         // 分塊上傳時,每塊的體積      auto_start: true,          // 選擇文件后自動上傳,若關閉需要自己綁定事件觸發上傳      init: {        'FilesAdded': function (up, files) {          plupload.each(files, function (file) {            // 文件添加進隊列后,處理相關的事情          });        },        'BeforeUpload': function (up, file) {          // 每個文件上傳前,處理相關的事情        },        'UploadProgress': function (up, file) {          // 每個文件上傳時,處理相關的事情        },        'FileUploaded': function (up, file, info) {          // 每個文件上傳成功后,處理相關的事情          // 其中info是文件上傳成功后,服務端返回的json,形式如:          // {          //  "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",          //  "key": "gogopher.jpg"          // }          // 獲取url路徑 傳入后臺保存到數據庫           var domain = up.getOption('domain');           var url = JSON.parse(info);           var sourceLink = domain +"/"+ url.key;           $.ajax({            url: '/image',            type: 'POST',            dataType : 'json',            data: {              '_token':"{{ csrf_token() }}",              "url":sourceLink            },           });        },        'Error': function (up, err, errTip) {          console.log(errTip);        },        'UploadComplete': function () {          //隊列文件處理完畢后,處理相關的事情        },        'Key': function (up, file) {          // 若想在前端對每個文件的key進行個性化處理,可以配置該函數          // 該配置必須要在unique_names: false,save_key: false時才生效          var key = "";          // do something with key here          return key        }      }    });  }

4.后端獲取上傳憑證token

首先我們先去安裝一個七牛的packagist,github地址。

composer require "overtrue/laravel-filesystem-qiniu" -vvv

在app/config.php里面添加

'providers' => [  // Other service providers...  Overtrue/LaravelFilesystem/Qiniu/QiniuStorageServiceProvider::class,],

然后在config/filesystems.php配置好你的七牛信息

<?phpreturn [  //...  'qiniu' => [    'driver'   => 'qiniu',    'access_key' => env('QINIU_ACCESS_KEY', 'xxxxxxxxxxxxxxxx'),    'secret_key' => env('QINIU_SECRET_KEY', 'xxxxxxxxxxxxxxxx'),    'bucket'   => env('QINIU_BUCKET', 'test'),    'domain'   => env('QINIU_DOMAIN', 'xxx.clouddn.com'), // or host: https://xxxx.clouddn.com  ],  //...];

然后在你控制器store方法中寫入獲取token的代碼,一會好讓前端用ajax請求獲得

public function store(){  $disk = Storage::disk('qiniu');  $token = $disk->getUploadToken();    return response()->json(['uptoken'=>$token]);}

5.有了token之后我們繼續來完善前端代碼

為了理解我們寫一個ajax去請求store,當然你也可以在uploader里的uptoken_url屬性設置請求地址。

function getTokenMessage() {  $.ajax({    url: '你的控制器地址',    type: 'POST',    data: {'_token':"{{ csrf_token() }}"},    dataType : 'json',    success: function (data) {      var obj = data;      // 請求成功之后,調用剛剛寫好的uploaderReady方法,把token傳入過去      uploaderReady(obj.uptoken);    }  });}//讓頁面初始化的時候就請求$(document).ready(function(){  getTokenMessage();});

這里差不多就可以啦,更多的操作參考文檔七牛云官方js文檔

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情在线一区| 欧美美女操人视频| 亚州精品天堂中文字幕| 国产精品视频免费在线| 亚洲bt欧美bt日本bt| 国产亚洲免费的视频看| 国产欧美最新羞羞视频在线观看| 韩国三级电影久久久久久| 久久艹在线视频| 91国产精品91| 色青青草原桃花久久综合| 国产精品久久久久久久久久99| 亚洲第一色中文字幕| 欧美激情视频在线免费观看 欧美视频免费一| 中文精品99久久国产香蕉| 亚洲成人黄色在线观看| 91av在线播放视频| 欧美理论电影网| 日韩在线播放av| 九九热这里只有精品免费看| 国产精品久久久久久婷婷天堂| 一本色道久久88亚洲综合88| 国产精品网站入口| 精品一区二区三区三区| 欧美刺激性大交免费视频| 97欧美精品一区二区三区| 日韩成人激情影院| 伊人久久大香线蕉av一区二区| 亚洲午夜精品久久久久久久久久久久| 2019中文在线观看| 日本一区二区三区在线播放| 青青草成人在线| 日韩成人av一区| 精品国模在线视频| 欧美中文字幕在线观看| 亚洲高清久久网| 国产aⅴ夜夜欢一区二区三区| 不卡在线观看电视剧完整版| 亚洲国产精品久久久久秋霞蜜臀| 欧美自拍视频在线观看| 亚洲理论片在线观看| 亚洲精品狠狠操| 亚洲免费一级电影| 欧美国产一区二区三区| 欧美视频国产精品| 久久99青青精品免费观看| 欧美在线观看一区二区三区| 国产suv精品一区二区| 国产专区欧美专区| 久久精品久久久久电影| 久久777国产线看观看精品| 91人人爽人人爽人人精88v| 亚洲成人久久电影| 久久香蕉国产线看观看av| 亚洲精品丝袜日韩| 日本aⅴ大伊香蕉精品视频| 亚洲高清福利视频| 欧美另类高清videos| 亚洲第一福利在线观看| 久久久av网站| 午夜欧美大片免费观看| 亚洲欧美日韩另类| 欧美日韩国产精品一区| 色哟哟网站入口亚洲精品| 国产精品v片在线观看不卡| 成人午夜在线影院| 国产精品pans私拍| 欧美在线一级视频| 国产一区二区三区久久精品| 91精品国产综合久久久久久久久| 国产久一一精品| 国产日产久久高清欧美一区| 琪琪第一精品导航| 一区二区欧美日韩视频| 国产激情999| 欧美wwwxxxx| 欧美激情xxxxx| 亚洲一区中文字幕| 日韩亚洲欧美成人| 精品香蕉在线观看视频一| 国产精品高潮呻吟久久av野狼| 日韩av片永久免费网站| 日韩精品极品视频| 国产69精品久久久久久| 亚洲欧美日韩区| 欧美成人激情在线| 91av在线免费观看视频| 人妖精品videosex性欧美| 国产精品网红福利| 国产精品久久久久久亚洲影视| 欧美电影在线播放| 国产亚洲一区二区精品| 日韩视频在线免费观看| 欧美疯狂xxxx大交乱88av| 国产97在线视频| 色老头一区二区三区| 亚洲精品videossex少妇| 2019日本中文字幕| 在线视频日韩精品| 国产啪精品视频| 国产成人综合精品在线| 亚洲成色777777在线观看影院| 午夜欧美不卡精品aaaaa| 91极品视频在线| 国产精品久久综合av爱欲tv| 中文字幕一区二区精品| 久久露脸国产精品| 欧美丰满少妇xxxxx| 久久欧美在线电影| 日韩精品免费观看| 久久人人97超碰精品888| 在线国产精品播放| 日韩精品中文字幕在线播放| 亚洲人在线视频| 久久精品一偷一偷国产| 福利视频第一区| 国内外成人免费激情在线视频| 久久99久久99精品中文字幕| 日日骚av一区| 精品中文字幕久久久久久| 国产精品一区二区三区免费视频| 久久九九热免费视频| 91亚洲永久免费精品| 视频直播国产精品| 最近2019中文字幕一页二页| 中文字幕日韩在线播放| 最近中文字幕日韩精品| 九色91av视频| 欧美国产日韩一区二区三区| 国产精品丝袜久久久久久不卡| 中文字幕av一区中文字幕天堂| 亚洲午夜精品久久久久久久久久久久| 国产亚洲精品久久| 国产精品日韩欧美大师| 97国产suv精品一区二区62| 国产精品视频精品视频| 97国产精品视频人人做人人爱| 亚洲va欧美va国产综合剧情| 日韩精品极品视频免费观看| 一本久久综合亚洲鲁鲁| 琪琪第一精品导航| 亚洲区免费影片| 欧美福利视频网站| 成人福利网站在线观看11| 亚洲人成电影在线观看天堂色| 国产剧情日韩欧美| 欧美激情国产精品| 亚洲一级片在线看| 国语自产精品视频在线看一大j8| 亚洲肉体裸体xxxx137| 91精品免费看| 国产精品国产三级国产aⅴ浪潮| 在线观看国产成人av片| 久久精品成人欧美大片古装| 亚洲人免费视频| 综合av色偷偷网| 欧美理论在线观看| 欧美日韩国产精品一区| 亚洲毛茸茸少妇高潮呻吟| 欧美激情亚洲视频| 亚洲香蕉成人av网站在线观看| 国产精品九九九| 国产精品主播视频| 国产精品va在线播放我和闺蜜|