<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

uni-app圖片上傳實戰

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:45 ? 次閱讀

uni.uploadFile()
將本地資源上傳到開發者服務器
客戶端發起一個post請求
content-type

multipart/form-data

通過uni.chooseImage獲取一個本地資源的臨時文件路徑后
將本地資源上傳到指定服務器

url String 是 開發者服務器 url 

files Aarry 否 需要上傳的文件列表

filePath String 是 要上傳文件資源的路徑

name String 是 文件對應的key

header Object 否 HTTP 請求 Header, header 中不能設置 Referer 

uploadTask 對象的方法列表

onProgressUpdate callback 監聽上傳進度變化

abort 中斷上傳任務

onProgressUpdate 返回參數說明
實戰頁面


	
		選擇照片
	
data:{
  percent:0,
  loading:false,
  disabled:false
 },
upload : function(){
   _self = this;
   uni.chooseImage({
    count: 1,
    sizeType: ['original', 'compressed'], //可以指定是原圖還是壓縮圖,默認二者都有
    sourceType: ['album'], //從相冊選擇
    success: function (res) {
     const tempFilePaths = res.tempFilePaths;
     const uploadTask = uni.uploadFile({
      url : 'https://demo.hcoder.net/index.php?c=uperTest',
      filePath: tempFilePaths[0],
      name: 'file',
      formData: {
       'user': 'test'
      },
      success: function (uploadFileRes) {
       console.log(uploadFileRes.data);
      }
     });
 
     uploadTask.onProgressUpdate(function (res) {
      _self.percent = res.progress;
      console.log('上傳進度' + res.progress);
      console.log('已經上傳的數據長度' + res.totalBytesSent);
      console.log('預期需要上傳的數據總長度' + res.totalBytesExpectedToSend);
     });
    },
    error : function(e){
     console.log(e);
    }
   });
  }
 },

php

getExeName($_FILES['file']['name']);
            if($exename != 'png' && $exename != 'jpg' && $exename != 'gif'){
                exit('不允許的擴展名');
            }
            $imageSavePath = uniqid().'.'.$exename;
            if(move_uploaded_file($_FILES['file']['tmp_name'], $imageSavePath)){
                echo $imageSavePath;
            }
        }
    }
    
    public function getExeName($fileName){
        $pathinfo      = pathinfo($fileName);
        return strtolower($pathinfo['extension']);
    }
}

uni.chooseImage(OBJECT) 從本地相冊選擇圖片或使用相機拍照
文件的臨時路徑,在應用本次啟動期間可以正常使用,如需持久保存,需在主動調用 uni.saveFile,在應用下次啟動時才能訪問得到。

tempFilePaths 
StringArray 圖片的本地文件路徑列表

tempFiles 
ObjectArray 圖片的本地文件列表,每一項是一個 File 對象

File 對象結構如下

path String 本地文件路徑
size Number 本地文件大小,單位:B
uni.chooseImage({
 count: 6, // 默認9
 sizeType: ['original', 'compressed'], // 原圖,壓縮圖
 sourceType: ['album'], // 從相冊選擇
 success: function(res) {
  console.log(JSON.stringify(res.tempFilePaths));
    }
});
uni.previewImage();

預覽圖片

current 當前顯示圖片的鏈接

urls 需要預覽的圖片鏈接列表
uni.chooseImage({
 count: 6,
 sizeType: ['original','compressed'],
 sourceType: ['album'],
 success: function(res) {
  // 預覽圖片
    uni.previewImage({
     urls: res.tempFilePaths
    });
 }

uni.getImageInfo()
獲取圖片信息

orientation 參數說明

枚舉值 說明

up 默認
down 180度旋轉
left 逆時針旋轉90度
right 順時針旋轉90度

up-mirrored 同up,但水平翻轉
down-mirrored 同down,但水平翻轉
left-mirrored 同left,但垂直翻轉
right-mirrored 同right,但垂直翻轉
uni.chooseImage({
    count: 1,
    sourceType: ['album'],
    success: function (res) {
        uni.getImageInfo({
            src: res.tempFilePaths[0],
            success: function (image) {
                console.log(image.width);
                console.log(image.height);
            }
        });
    }
});

uni.saveImageToPhotosAlbum(OBJECT)

保存圖片到系統相冊

filePath 圖片文件路徑

uni.chooseImage({
    count: 1,
    sourceType: ['camera'],
    success: function (res) {
        uni.saveImageToPhotosAlbum({
            filePath: res.tempFilePaths[0],
            success: function () {
                console.log('save success');
            }
        });
    }
});

若本號內容有做得不到位的地方(比如:涉及版權或其他問題),請及時聯系我們進行整改即可,會在第一時間進行處理。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11017

    瀏覽量

    206956
  • 數據庫
    +關注

    關注

    7

    文章

    3616

    瀏覽量

    63578
  • python
    +關注

    關注

    52

    文章

    4697

    瀏覽量

    83591
  • NODE.JS
    +關注

    關注

    1

    文章

    46

    瀏覽量

    32700
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 uni-app項目實戰:04-uni-ui組件-01

    前端vue
    Mr_haohao
    發布于 :2022年10月03日 17:52:13

    #硬聲創作季 uni-app項目實戰:04-uni-ui組件-02

    前端vue
    Mr_haohao
    發布于 :2022年10月03日 17:52:54

    #硬聲創作季 uni-app項目實戰:04-uni-ui組件-03

    前端vue
    Mr_haohao
    發布于 :2022年10月03日 17:53:34

    #硬聲創作季 uni-app項目實戰:05-uni-ui組件-01

    前端vue
    Mr_haohao
    發布于 :2022年10月03日 17:54:12

    #硬聲創作季 uni-app項目實戰:05-uni-ui組件-02

    前端vue
    Mr_haohao
    發布于 :2022年10月03日 17:54:52

    #硬聲創作季 uni-app項目實戰:05-uni-ui組件-03

    編程語言
    Mr_haohao
    發布于 :2022年10月03日 17:55:28

    [求助]急,怎樣上傳圖片

    請教版主,怎樣上傳圖片,急。謝謝
    發表于 12-04 19:28

    發帖說明一下 如何上傳圖片

    `鑒于有發燒友說不知道如何上傳圖片一事,今發帖說明一下 ,如何上傳圖片操作步驟如下1、點擊紅色區域的【圖片】選框 2、點擊【
    發表于 04-29 10:15

    uni2gbk.sys文件應該怎么用?

    uni2gbk.sys文件應該怎么用,是不是根據uni代碼然后在這文件相應位置找出來的連續兩個字節就是GBK碼?我的意思是:是不是uni2gbk.sys文件里面編碼是根據uni代碼的順
    發表于 08-12 01:02

    如何在網站上上傳圖片?

    如何在網站上上傳圖片?
    發表于 04-26 07:13

    struts實現多圖片上傳

    () {   }  public static Integer pictureSize = 10*1024*1024;   //單位為byte   上傳
    發表于 12-27 17:28 ?8次下載

    DCloud崔紅保:uni-app和HBuilder背后的男人

    MUI,國內?個接近原?App體驗的?性能前端庫,github star數過萬;流應?,國內?程序應用形態的最早原型;HBuilder,擁有數百萬前端開...
    的頭像 發表于 12-08 23:33 ?891次閱讀

    uni-app事件以及事件綁定

    事件修飾符stop的使用會阻止冒泡,但是同時綁定了一個非冒泡的事件,會導致該元素上的catchEventName失效!
    的頭像 發表于 12-10 22:45 ?823次閱讀

    MarkDown文件插入圖片上傳GitHub

    MarkDown文件插入圖片上傳GitHub
    的頭像 發表于 01-12 17:02 ?825次閱讀

    知名開源前端框架uni-app包含熱更新代碼,谷歌“封殺”

    近日,程序員發帖稱自己用開源框架 uni-app 開發的 App 被 Google Play 下架,原因是 uni-app 自帶的 SDK 包含違反 Google Play 政策的內容 —— 包括廣告代碼,以及下載第三方
    的頭像 發表于 06-27 16:30 ?1459次閱讀
    知名開源前端框架<b class='flag-5'>uni-app</b>包含熱更新代碼,谷歌“封殺”
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>