当前位置:   article > 正文

uniapp使用uView 2.0上传图片视频_uview上传视频

uview上传视频

引入上传的接口

  1. const baseUrl = environment.environment.baseURL
  2. const uploadUrl = baseUrl + '/api/file/uploadFile'

在data中定义数组

  1. data(){
  2. return{
  3. fileList1: [], // 图片列表 本页最多只支持上传 5
  4. videoList2: [], // 视频列表 本页最多只支持上传 1
  5. }
  6. }

页面中使用

注:multiple:是否开启多选,安卓部分不支持! 

        maxCount:限制上传数量

<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="5"></u-upload>

对应methods中的方法

fterRead 上传后处理的函数

  1. async afterRead(event) {
  2. // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
  3. let lists = [].concat(event.file)
  4. let fileListLen = this[`fileList${event.name}`].length
  5. lists.map((item) => {
  6. this[`fileList${event.name}`].push({
  7. ...item,
  8. status: 'uploading',
  9. message: '上传中'
  10. })
  11. })
  12. for (let i = 0; i < lists.length; i++) {
  13. this.isShowOverlay = true
  14. const result = await this.uploadFilePromise(lists[i].url)
  15. this.isShowOverlay = false
  16. let item = this[`fileList${event.name}`][fileListLen]
  17. this[`fileList${event.name}`].splice(fileListLen, 1,
  18. Object.assign(item, {
  19. status: 'success',
  20. message: '',
  21. url: result
  22. }))
  23. fileListLen++
  24. }
  25. },
  26. uploadFilePromise(url) {
  27. let token = uni.getStorageSync('token')
  28. return new Promise((resolve, reject) => {
  29. let a = uni.uploadFile({
  30. url: uploadUrl,
  31. filePath: url,
  32. name: 'file',
  33. header: {
  34. 'Authorization': token
  35. }, // 这个头必须加,否则提示无权限
  36. formData: {
  37. user: 'test'
  38. },
  39. success: (res) => {
  40. let resData = res.data.data
  41. let resType = typeof res.data
  42. if (resType == 'string') {
  43. resData = JSON.parse(res.data).data
  44. }
  45. setTimeout(() => {
  46. resolve(resData.url)
  47. }, 1000)
  48. }
  49. });
  50. })
  51. },

删除上传后的图片的,delete,传递index 回调 event 参数 包含index,file,name

  1. deletePic(event) {
  2. this[`fileList${event.name}`].splice(event.index, 1)
  3. }

 上传视频,标签体内添加accept="video"

<u-upload :fileList="videoList" @afterRead="afterRead" @delete="deletePic" name="4" multiple :maxCount="1" accept="video"></u-upload>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/470899
推荐阅读
相关标签
  

闽ICP备14008679号