非同步上傳到又拍雲的實例教學 又拍雲 七牛 又拍雲 融資 又拍雲圖

WBOY
發布: 2016-07-29 08:52:55
原創
1160 人瀏覽過

作者:白狼出處:www.manks.top/article/async_upload_to_upyun 

本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁明顯位置給出原文連接,否則保留追究法律責任的權利。

網站靜態檔案儲存在又拍雲,之前上傳是透過又拍雲的的FORM API進行。

當產品經理歪著腦袋走向你的時候,哎呀呀,這用戶資訊這裡,上傳要無刷新的效果了。

這他***,自己偷偷抱怨一會兒會,怎麼搞喃?聽說這傢伙要一個好聽的名字,非同步上傳,高大上檔次挺像我的。

根據我們的觀察,這裡有兩個重點:

①、怎麼實現異步上傳

②、怎麼上傳到又拍雲

首先我們要實現非同步上傳,就需要利用js FormData對象,據說,這傢伙不支援ie6 7的,ie8就不太清楚了,據說哈,說錯了不負責的。

不過喃,我們也不用考慮辣麼多,前段時間都聽說淘寶都要放棄ie6 7了,so 甭考慮辣麼多了。 ie6 7抓ta大概都要罵ta小婊砸,竟然敢不支持我。

FormData是誰,這裡就不多介紹了,可以自行百度。

我們先來看看view層怎麼使用FormData這個小婊子砸

<input type="file" accept="image/jpg,image/jpeg,image/png,image/gif">
<input type="hidden" name="file">
登入後複製

如你所想,僅僅是一個input上傳按鈕和一個我們保留的準備接收圖片地址的隱藏input上傳按鈕和一個我們預留的準備接收圖片地址的隱藏

input

input

下面來看看

JS是怎麼憤怒的吧

<script type="text/javascript">
function($){
  //上传
  $("#upload").on("change", function () {
  //构造FormData对象并赋值
    var formData = new FormData();
    formData.append("policy", "//controller层传递过来upYun的policy配置");
    formData.append("signature", "//controller层传递过来upyun的signature配置");
    formData.append("file", $("#upload")[0].files[0]);
    $.ajax({
      url : "//处理上传的后端程序地址",
      type : "POST",
      data : formData,
      processData : false,
      contentType : false,
      beforeSend: function () {
        //可以做一些正在上传的效果
      },
      success : function(data) {
        //data,我们这里是异步上传到后端程序所返回的图片地址
      },
      error : function(responseStr) {
        console.log(responseStr);
      }
    });
  });
}($);
</script>
登入後複製
到此,我們已經實現了異步上傳的前端代碼,包括又拍雲所需要的參數policy和

signature

剩下

的實作上傳到又拍雲就簡單了,可以​​參考

https://github.com/upyun/php-sdk 來處理

以上就介紹了非同步上傳到又拍雲的實例教程,包含了又拍雲,上傳方面的內容,希望對PHP教程有興趣的朋友有所幫助。

🎜 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!