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

uniapp上傳本地圖片以及以二進制流的方式上傳

 更新時間:2023年07月21日 10:07:45   作者:卿本無憂  
這篇文章主要給大家介紹了關(guān)于uniapp上傳本地圖片以及以二進制流的方式上傳的相關(guān)資料,最近在自己寫一個uniapp的項目,剛好遇到了上傳圖片到服務器的功能,這里總結(jié)一下,需要的朋友可以參考下

1、上傳本地圖片

1.1 uni.chooseImage

uni.chooseImage(OBJECT)

從本地相冊選擇圖片或使用相機拍照。

1.2 uni.uploadFile

uni.uploadFile(OBJECT)

將本地資源上傳到開發(fā)者服務器,客戶端發(fā)起一個 POST 請求,其中 content-type 為 multipart/form-data。
如頁面通過 uni.chooseImage 等接口獲取到一個本地資源的臨時文件路徑后,可通過此接口將本地資源上傳到指定服務器。

代碼: 

export default {
	methods: {
		/**
		 * 從本地相冊選擇圖片
		 */
		handleChooseImage() {
			uni.chooseImage({
				count: 3,
				sourceType: ['album'],
				success: res => {
					let filePath = res.tempFilePaths[0];
					// 上傳圖片
					this.handleUploadFile('/upload', filePath);
				}
			});
		},
		/**
		 * 上傳
		 * @param {String} url 接口地址
		 * @param {String} filePath 要上傳文件資源的路徑
		 * @param {Object} data 接口的一些參數(shù)
		 */
		handleUploadFile(url, filePath, data) {
			uni.uploadFile({
				url: url,
				filePath,
				header: {
					"authorization": uni.getStorageSync('token')
				},
				formData: data,
				success: (uploadFileRes) => {
					console.log(uploadFileRes, '上傳成功')
				},
				fail: (res) => {
					console.log(res, '上傳失敗')
				}
			})
		}
	}
}

2、以二進制流的方式上傳

export default {
	methods: {
		handleUpload() {
			// 獲取二進制流(暫時用base64轉(zhuǎn)二進制流測試)
			let dataurl =
				'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAGElEQVQIW2P4DwcMDAxAfBvMAhEQMYgcACEHG8ELxtbPAAAAAElFTkSuQmCC';
			let blob = this.dataURLtoBlob(dataurl);
			this.handleUploadFile('upload', blob)
		},
		/**
		 * Base64字符串轉(zhuǎn)二進制流
		 * @param {String} dataurl Base64字符串(字符串包含Data URI scheme,例如:data:image/png;base64, )
		 */
		dataURLtoBlob(dataurl) {
			var arr = dataurl.split(","),
				mime = arr[0].match(/:(.*?);/)[1],
				bstr = atob(arr[1]),
				n = bstr.length,
				u8arr = new Uint8Array(n);
			while (n--) {
				u8arr[n] = bstr.charCodeAt(n);
			}
			return new Blob([u8arr], {
				type: mime,
			});
		},
		/**
		 * 上傳
		 * @param {String} url 接口地址
		 * @param {Object} file 二進制流
		 * @param {Object} data 接口的一些其他的參數(shù)
		 */
		handleUploadFile(url, file, data) {
			uni.uploadFile({
				url: url,
				file,
				header: {
					"authorization": uni.getStorageSync('token')
				},
				formData: data,
				success: (uploadFileRes) => {
					console.log(uploadFileRes, '上傳成功')
				},
				fail: (res) => {
					console.log(res, '上傳失敗')
				}
			})
		}
	}
}

總結(jié)

到此這篇關(guān)于uniapp上傳本地圖片以及以二進制流的方式上傳的文章就介紹到這了,更多相關(guān)uniapp上傳本地圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 通過判斷JavaScript的版本實現(xiàn)執(zhí)行不同的代碼

    通過判斷JavaScript的版本實現(xiàn)執(zhí)行不同的代碼

    有時候需要根據(jù)JavaScript的版本來分別執(zhí)行一些代碼,那么就可能需要用到下面的代碼.
    2010-05-05
  • JS處理一些簡單計算題

    JS處理一些簡單計算題

    本篇文章通過JS來實現(xiàn)以下日常用經(jīng)常用到的計算以及換算等小工具,有興趣的朋友可以學習下。
    2018-02-02
  • 微信小程序?qū)崿F(xiàn)錄音時的麥克風動畫效果實例

    微信小程序?qū)崿F(xiàn)錄音時的麥克風動畫效果實例

    這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)錄音時的麥克風動畫效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用微信小程序具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 微信小程序8種數(shù)據(jù)通信的方式小結(jié)

    微信小程序8種數(shù)據(jù)通信的方式小結(jié)

    這篇文章主要介紹了微信小程序8種數(shù)據(jù)通信的方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • javascript兼容性(實例講解)

    javascript兼容性(實例講解)

    下面小編就為大家?guī)硪黄猨avascript兼容性(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • layer.msg()去掉默認時間,實現(xiàn)手動關(guān)閉的方法

    layer.msg()去掉默認時間,實現(xiàn)手動關(guān)閉的方法

    今天小編就為大家分享一篇layer.msg()去掉默認時間,實現(xiàn)手動關(guān)閉的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 24行JavaScript代碼實現(xiàn)Redux的方法實例

    24行JavaScript代碼實現(xiàn)Redux的方法實例

    這篇文章主要給大家介紹了關(guān)于如何利用24行JavaScript代碼實現(xiàn)Redux的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • 微信小程序多項選擇器checkbox

    微信小程序多項選擇器checkbox

    這篇文章主要為大家詳細介紹了微信小程序多項選擇器checkbox,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • js實現(xiàn)拾色器插件(ColorPicker)

    js實現(xiàn)拾色器插件(ColorPicker)

    這篇文章主要為大家詳細介紹了js實現(xiàn)拾色器插件ColorPicker,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Javascript es7中比較實用的兩個方法示例

    Javascript es7中比較實用的兩個方法示例

    這篇文章主要給大家分享了關(guān)于Javascript es7中比較實用的兩個方法示例,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07

最新評論