uni.uploadFile()将本地资源上传到开发者服务器客户端发起一个post请求content-type

multipart/form-data

通过uni.chooseImage获取一个本地资源的临时文件路径后将本地资源上传到指定服务器

url String 是 开发者服务器 url files Aarry 否 需要上传的文件列表filePath String 是 要上传文件资源的路径name String 是 文件对应的keyheader Object 否 HTTP 请求 Header, header 中不能设置 Referer 

uploadTask 对象的方法列表

onProgressUpdate callback 监听上传进度变化

abort 中断上传任务

onProgressUpdate 返回参数说明实战页面

<progress :percent="percent" stroke-width="10"></progress><button type="primary" :loading="loading" :disabled="disabled" @click="upload">选择照片</button>
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

<?php
class uperTestController extends witController{public function index(){if(!empty($_FILES['file'])){//获取扩展名$exename  = $this->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, // 默认9sizeType: ['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');}});}
});

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。

请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达达的简书!

这是一个有质量,有态度的博客

uni-app 图片上传实战相关推荐

  1. App图片上传Base64图片上传

    /*** @Method base64图片上传* @author Angus* return array* date 2018-05-04*/ function saveBase64Image($ba ...

  2. app开发上传文件夹到服务器,uni-app 上传(图片上传实战)

    uni.uploadFile(OBJECT) 将本地资源上传到开发者服务器,客户端发起一个 POST 请求,其中 content-type 为 multipart/form-data. 如页面通过 u ...

  3. base64图片上传Java上传

    controller层获取图片数据调用upload方法 String imagesUrl = null;//获取图片信息String imageBaseStr = reqData.getImageBa ...

  4. uni App多图片上传,java后台接收

    前台页面: <!-- 图片上传 --><wslimg title="图片上传" :num="9" :dataList="dataLi ...

  5. 实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传

    文章目录 概述 Maven依赖 文件上传解析器bean的配置 页面 shopoperation.html增加上传组件 shopoperation.js Controller层 Github地址 概述 ...

  6. 富文本编辑器Ueditor实战(二)-图片上传

    本文接前文富文本编辑器Ueditor实战(一),前文留了一个问题,就是图片上传功能无法使用,报后台配置错误的问题.那么应该如何配置图片上传功能呢?本文将使用jsp+tomcat的方式进行说明如何动态配 ...

  7. uni-app - 头像图片裁剪组件(支持多种裁剪,手势控制旋转或缩放、内外部控制图片移动、提供上传后端接口方案、头像图片美化)全端完美兼容 H5 App 小程序,最好用的图片上传后裁剪插件教程源代码

    前言 网上的教程代码非常乱且都有 BUG 存在,非常难移植到自己的项目中,而且很难. 实现了 完美兼容 H5 App 小程序,选取手机本地相册或拍照,图片上传裁切内置多种方案,样式随便改, 本文代码干 ...

  8. Android 嵌套H5 网页,图片上传无法调用手机图片以及嵌套网页中无法调用另一款APP问题记录

    最近项目中用到安卓原生APP 嵌套H5网页,使用安卓原生WebView实现,主要遇到以下两种问题,特此记录: 在H5页面,返回直接回到APP中 监听安卓的返回事件就行了 @Override publi ...

  9. 基于android的图片上传分享系统相册app

    该图片上传分享系统是一款基于安卓的双端程序,客户端采用eclipse作为开发平台,服务端采用了myeclipse作为开发平台,数据库是mysql,主要实现了图片的编辑和上传的功能,界面美观大气,功能技 ...

最新文章

  1. android:layout_gravity=bottom不起作用问题
  2. 关于java中的不可变类(转)
  3. 谨慎用药!这些药千万不能混在一起吃
  4. PLSQL 执行 for update 语句被锁定的解决办法
  5. 一个计算机爱好者的不完整回忆(二十八)关于计算机书籍
  6. python类的成员函数_Python为类对象动态添加成员函数
  7. Maven打包排除某个资源或者目录
  8. 将文件内含有的特殊字符还原
  9. 现代操作系统原理与实践04:实验1:机器启动
  10. 计算机系统思维导图简单画法,思维导图简单画法 有创意的思维导图
  11. 解压war包并重新编译成war包
  12. 计算机多媒体技术实验报告【合集】
  13. 软考高项(信息系统项目管理师)计算题公式汇总
  14. python作用域的理解-python中对变量的作用域LEGB、闭包、装饰器基本理解
  15. 三:JavaScript快速入门(脚本开发方向)
  16. 数据库到底是什么?举例MySQL给你讲明白
  17. python学习(14)—— 函数、模块和包
  18. CCF考试——201412-4最优灌溉
  19. 病毒及攻击防御手册之四
  20. 用友Java面试汇总

热门文章

  1. 20个有用的iOS图标和应用模板资源
  2. 计算机怎么换背景图片,电脑开机背景图怎么换_怎么设置开机背景的教程
  3. n维椭球体积公式_洛氏硬度、布氏硬度、维氏硬度区别与对照
  4. 攻防世界-reverse-easyRE1
  5. 【虚幻引擎】UE4/UE5 后期处理盒子(PostProcessVolume)
  6. 如果一笔生意听起来好得让人难以置信
  7. 我的2013年终总结
  8. 搭建Winmail邮件系统
  9. Greenplum学习实践-【安装部署】-2、 5.10集群部署
  10. html中鱼眼效果,鱼眼效果和放大效果怎么做