uniapp上传base64格式图片给后台

本文介绍了如何在uniapp中使用base64格式上传图片到后台。前端利用uniapp的colorUi框架展示图片,并限制上传数量。在尝试过程中,遇到js函数返回值的问题,由于uni.request的异步特性,直接使用return无法获取到正确的返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

data(){
   
	return {
   
		imgList: [],
	}
},
methods:{
   
	ChooseImage() {
   
		var that = this;
		let count = 1;//默认上传的图片数量
		uni.chooseImage({
   
			count: count, //默认9
			sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
			sourceType: ['album'], //从相册选择
			success: (res) => {
   
				if(that.imgList.length < count){
   
					for(var i = 0; i < res.tempFilePaths.length; i ++){
   
						that.urlToBase64(res.tempFilePaths[i]).then(res=>{
   
							that.imgList = that.imgList.concat(res)
						})
					}
				}else {
   
					that.imgList = []//设置为空数组
					for(var i = 0; i < res.tempFilePaths
UniApp 开发中,将 Base64 格式图片保存到手机相册,可以按照以下步骤操作: 1. 首先,你需要将 Base64 图片转换为 Blob 对象,这是本地操作的基础。你可以使用 `atob` 函数配合 `Buffer.from` 来完成这个转换。例如: ```javascript let base64Image = 'your_base64_string'; const byteString = atob(base64Image); const buffer = Buffer.byteLength(byteString as any) > 0 ? new Uint8Array(new Array(byteString.length).fill(0)) : []; buffer.set(new Uint8Array(byteString)); ``` 2. 然后,利用 UniApp 提供的原生 API,比如 `uni.getImageInfo` 获取文件信息,创建一个 `File` 对象: ```javascript uni.createSelectorQuery().select('input[type=file]').fields({ size: true }).then((res) => { const file = new File([buffer], 'image.jpg', { type: 'image/jpeg' }); // 接下来就可以调用相机插件或其他方法保存图片到相册了 }); ``` 这里假设你有一个 input 元素用于选择图片,然后读取并转换为 Base64 格式。 3. 最后,通过调用相应的相机插件或系统提供的 API 来实现保存功能。由于 UniApp 可能有不同的平台支持,这一步的具体实现可能会有所不同。通常,你可以在调用前检查设备是否支持照片库权限以及用户是否已授权。 注意,为了确保用户体验和隐私安全,你应该在用户明确触发保存操作(如点击按钮)时执行这些步骤,并且在调用涉及用户隐私的操作时显示提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值