uni-app视频 及 图片上传

共两种方法

一般情况图片是直接上传图片服务器,但是在特定情况需要对视频进行切割,修改等操作

由于视频和图片上传处理一样,此处只介绍视频处理
1 uniapp自带的

### [uni.chooseVideo(OBJECT)](https://uniapp.dcloud.io/api/media/video?id=choosevideo)

方法,拍摄视频或从手机相册中选视频,返回视频的临时文件路径
由于某些时候需要用到原生input的文件对象---原生input拿到的视频为blob对象,即为一种进制流
此处把文件地址转为文件对象
利用

uni.request()

方法拿到文件流并转为base64

let base64 = wx.arrayBufferToBase64(ress.data); //把arraybuffer转成base64 
base64 = 'data:image/jpeg;base64,' + base64 //不加上这串字符,在页面无法显示的哦
// 将base64转换为文件对象
function dataURLtoFile(dataurl, filename) {
    var arr = dataurl.split(',');
    var mime = arr[0].match(/:(.*?);/)[1];
    var bstr = atob(arr[1]);
    var n = bstr.length; 
    var u8arr = new Uint8Array(n);
    while(n--){
        u8arr[n] = bstr.charCodeAt(n);
    }
    // 转换成file对象
    return new File([u8arr], filename, {type:mime});//FormData File
    // 转换成成blob对象
    // return new Blob([u8arr],{type:mime});
}
    // 将图片转换为base64,再将base64转换成file对象
    var file=dataURLtoFile(base64,'imgHeader')//两个参数为base64 和文件名

构造json传给后端就ok了

var formData = new FormData();
formData.append('key1',value1);
formData.append('file',file);

2还有一种粗暴的方法

<INPUT v-if="type==1" type="file" accept="video/*" @change="changeFile"></INPUT>
changeFile:function(e){
    console.log(event.target.files[0]);
    var file = event.target.files[0];
    var url = URL.createObjectURL(file); 
    console.log(url);//本地路径
    this.localVideoSrc=url;//用于展示
    this.Resources=file;//文件对象
},

ok
有问题请指教~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 5,388评论 2 54
  • 1.特性 该插件可以将简单的 转换为高级的文件选取控件。对于不支持 JQuery 和 Javascript 的...
    Robot_Lee阅读 5,318评论 0 1
  • 1.需要服务器进行配置Content-Type 为gzip2.AFN框架客户端使用下列代码即可
    落寒z阅读 1,622评论 0 0
  • 我们生命的最终目的不是做了什么,而是变成什么。为了这个目的,我们每天都被上帝操练,正如银子被火熬炼一般。使我们学会...
    義胜洁阅读 282评论 0 0
  • 很早就答应要写一篇关于青海的游记,但是从8月入职以来,一直都处于忙碌中,不断地适应新的环境,新的同事,新的...
    只爱夏天阅读 1,202评论 0 4

友情链接更多精彩内容