欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp使用uni-file-picker實(shí)現(xiàn)上傳功能

 更新時(shí)間:2024年07月23日 12:08:35   作者:奶糖 肥晨  
這篇文章主要介紹了uniapp使用uni-file-picker實(shí)現(xiàn)上傳功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

html代碼

        <uni-file-picker
          @select="onFileSelected"
          @cancel="onFilePickerCancel"
          limit="1"
          class="weightPage-upload-but"
          file-mediatype="image"
        ></uni-file-picker>
       <image
          class="weightPage-item-upload-img"
          v-if="weightData.img_url"
          :src="weightData.img_url"
          mode=""
        >
        </image>
        <image
          class="weightPage-item-upload-img"
          v-else
          src="@/static/checkDetails/upload.png"
          mode=""
        >
        </image>

用image覆蓋,就能實(shí)現(xiàn)完全自定義上傳樣式的功能(也能用其他的覆蓋)
上傳前:

上傳后:

功能實(shí)現(xiàn)

  data() {
    return {
      weightData: {
        img_url: "",
      },
    };
  },
  methods: {
    onFileSelected(e) {
      // 獲取選中的文件路徑
      const filePath = e.tempFiles[0].url;
      console.log(filePath);
      // 調(diào)用上傳圖片的方法
      this.uploadImage(filePath);
    },
    async uploadImage(filePath) {
      try {
        let formData = new FormData();
        formData.append("file", {
          url: filePath,
          name: "image.jpg",
          type: "image/jpeg",
        });
        // 轉(zhuǎn)換為普通 Object
        const formDataObj = {};
        for (let [key, value] of formData.entries()) {
          formDataObj[key] = value;
        }
        /*#ifdef MP-WEIXIN*/
        // 從微信小程序的本地緩存中取出 token
        let wxToken = wx.getStorageSync("token");
        let wxbaseURL = wx.getStorageSync("baseURL");
        // 檢查是否成功獲取到值
        if (wxToken) {
          uni.uploadFile({
            url: `${wxbaseURL}...`, //需要傳圖片的后臺(tái)接口
            filePath: filePath, // 上傳圖片 通過uni-app的uni-file-picker組件 函數(shù)返回
            name: "image", //文件名字
            header: {
              Authorization: "Bearer " + wxToken,
            },
            formData: formDataObj,
            success: (res) => {
              const { data } = JSON.parse(res.data);
              console.log(data);
              this.weightData.img_url = data.url;
              uni.showToast({
                title: "圖片上傳成功",
                icon: "success",
                duration: 2000, // 提示持續(xù)時(shí)間,單位為毫秒
              });
            },
            fail: (e) => {
              console.log(e);
            },
          });
        }
        /*#endif*/
        /*#ifdef H5*/
        let Token = localStorage.getItem("token");
        let baseURL = localStorage.getItem("baseURL");
        // 檢查是否成功獲取到值
        if (Token) {
          uni.uploadFile({
            url: `${baseURL}...`, //需要傳圖片的后臺(tái)接口
            filePath: filePath, // 上傳圖片 通過uni-app的uni-file-picker組件 函數(shù)返回
            name: "image", //文件名字
            header: {
              Authorization: "Bearer " + Token,
            },
            formData: formDataObj,
            success: (res) => {
              console.log(JSON.parse(res.data));
              const { data } = JSON.parse(res.data);
              console.log(data);
              this.weightData.img_url = data.url;
              uni.showToast({
                title: "圖片上傳成功",
                icon: "success",
                duration: 2000, // 提示持續(xù)時(shí)間,單位為毫秒
              });
            },
            fail: (e) => {
              console.log(e);
            },
          });
        }
        /*#endif*/
        // 可以添加上傳進(jìn)度監(jiān)聽等額外邏輯
      } catch (error) {
        console.error("上傳圖片時(shí)發(fā)生錯(cuò)誤", error);
      }
    },
    onFilePickerCancel() {
      console.log("取消選擇");
      // 可以在這里處理取消選擇的邏輯
    },
  },

css樣式代碼

隱藏樣式的重點(diǎn)是 opacity: 0;

    .weightPage-upload-but {
      position: absolute;
      width: 279px;
      height: 100px;
      z-index: 1;
      left: 0px;
      opacity: 0;
      padding: 10px;
    }
    .weightPage-item-upload-img {
      width: 80px;
      height: 78px;
      border-radius: 10px;
    }
    .weightPage-item-upload-text {
      font-size: 12px;
      font-weight: 500;
      line-height: 19px;
      color: rgba(153, 153, 153, 1);
      flex: 1;
      padding: 10px;
    }

到此這篇關(guān)于uniapp使用uni-file-picker實(shí)現(xiàn)上傳功能的文章就介紹到這了,更多相關(guān)uniapp uni-file-picker上傳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return)

    JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return)

    面向?qū)ο缶幊陶Z(yǔ)法中我們會(huì)碰到break ,continue, return這三個(gè)常用的關(guān)鍵字,那么關(guān)于這三個(gè)關(guān)鍵字的使用具體的操作是什么呢?接下來通過本文給大家講解JS跳出循環(huán)的方法區(qū)別對(duì)比分析(break,continue,return),感興趣的朋友一起看看吧
    2023-02-02
  • 簡(jiǎn)單談?wù)凧S數(shù)組中的indexOf方法

    簡(jiǎn)單談?wù)凧S數(shù)組中的indexOf方法

    最近在工作中遇到一個(gè)小問題,這篇文章代碼我會(huì)簡(jiǎn)化成小例子展示給大家。給大家詳細(xì)的介紹JS數(shù)組中的indexOf方法,用心看到最后會(huì)有收獲哈,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • JS獲得URL超鏈接的參數(shù)值實(shí)例代碼

    JS獲得URL超鏈接的參數(shù)值實(shí)例代碼

    使用js獲取超鏈接中keyword的參數(shù)值,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助
    2013-06-06
  • JavaScript隨機(jī)生成顏色的方法

    JavaScript隨機(jī)生成顏色的方法

    這篇文章主要介紹了JavaScript隨機(jī)生成顏色的方法的相關(guān)資料,非常不錯(cuò),代碼簡(jiǎn)單易懂,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • 純js代碼制作的網(wǎng)頁(yè)時(shí)鐘特效【附實(shí)例】

    純js代碼制作的網(wǎng)頁(yè)時(shí)鐘特效【附實(shí)例】

    下面小編就為大家?guī)硪黄僯s代碼制作的網(wǎng)頁(yè)時(shí)鐘特效【附實(shí)例】。小編覺得聽錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-03-03
  • Javascript模仿淘寶信用評(píng)價(jià)實(shí)例(附源碼)

    Javascript模仿淘寶信用評(píng)價(jià)實(shí)例(附源碼)

    這篇文章主要介紹了Javascript模仿淘寶信用評(píng)價(jià)功能實(shí)現(xiàn)方法,以完整實(shí)例形式分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)改變頁(yè)面元素的相關(guān)技巧,并附帶了完整的實(shí)例代碼供讀者下載參考,需要的朋友可以參考下
    2015-11-11
  • JavaScript觀察者模式(經(jīng)典)

    JavaScript觀察者模式(經(jīng)典)

    Observer模式也叫觀察者模式,是由GoF提出的23種軟件設(shè)計(jì)模式的一種。Observer模式是行為模式之一,它的作用是當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生變化時(shí),能夠自動(dòng)通知其他關(guān)聯(lián)對(duì)象,自動(dòng)刷新對(duì)象狀態(tài)
    2015-12-12
  • javascript實(shí)現(xiàn)左右緩動(dòng)動(dòng)畫函數(shù)

    javascript實(shí)現(xiàn)左右緩動(dòng)動(dòng)畫函數(shù)

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)左右緩動(dòng)動(dòng)畫函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • javascript中注冊(cè)和移除事件的4種方式

    javascript中注冊(cè)和移除事件的4種方式

    對(duì)于html中的一些元素注冊(cè)事件的方式有多種,接下來將為大家詳細(xì)介紹下,大家可以測(cè)試并對(duì)比下根據(jù)自己的習(xí)慣使用哪一種方式
    2013-03-03
  • JavaScript避免回調(diào)地獄的策略分享

    JavaScript避免回調(diào)地獄的策略分享

    在JavaScript中,異步操作通常通過回調(diào)函數(shù)來處理,但當(dāng)存在多個(gè)嵌套異步調(diào)用時(shí),就會(huì)出現(xiàn)“回調(diào)地獄”(Callback Hell),避免回調(diào)地獄有助于提升代碼可讀性和可維護(hù)性,并使錯(cuò)誤處理更為集中和規(guī)范,本文小編給大家介紹了JavaScript避免回調(diào)地獄的策略,需要的朋友可以參考下
    2025-03-03

最新評(píng)論