cordova图片上传,视频上传(上传多个图片,多个视频)

1.下载插件(下载需要的即可)

cordova plugin add cordova-plugin-imagepicker(这个插件选择图片较为好看,并且只能获取图片)

cordova plugin add cordova-plugin-camera(获取单个视频,单个图片)

cordova plugin add cordova-plugin-media-capture(获取音频,视频,拍照)

2.上传多张图片或视频的数组(视频图片可以放在同一数组里)

var imgArr = []

3.cordova plugin add cordova-plugin-imagepicker

ImagePicker.getPictures((res) => {
     res.images.forEach((val) => {
           //塞到数组里
          imArr.push(val.uri)
    })
},(err)=>{console.log(err)},
{
    //配置
    quality: 80, //图片质量
    maximumImagesCount: 9  //限制上传的数量
}
}

cordova plugin add cordova-plugin-media-capture

navgator.device.capture.captureVideo(
      (mediaFiles) => {
           console.log(mediaFile[0])
           imgArr.push(mediaFile[0].localURL)
      },
      (err)=>{console.log(err)},
      options
)
options = {
     limit: 2,
     duration
}

cordova plugin add cordova-plugin-camera请看上传单个图片

4.批量上传(将imgArr上传)

除了cordova plugin add cordova-plugin-camera插件外,其余两个会默认安装Cordova-plugin-file

他会改变js中的file属性,所以这里要将他改回来,就可以了,用自己的接口通过formdata上传

var formdata = new Formdata()
var loopNum = 0
imgArr.forEach((val,index) => {
//cordova-plugin-file插件的方法 resolveLocalFileSystemURL(val,(fileEntry)
=>{
//获取file对象,和js的file不一样 fileEntry.file((file)
=>{
//读取
var reader = new FileReader() reader.onloadend = e => {
              //转化为Blob格式 const the_file
= new Blob([e.target.result],{type:file.type})
              //存入即可 formdata.append(
'image'+(index+1),the_file,file.name)
              //防止onloadend事件不按顺序执行 loopNum
++ if(loopNumm === imgArr.length){
//requestImgs函数是触发接口函数,自己写,将formdata传进入 requestImgs(formdata) } }
          //触发onloadend事件 reader.readAsArrayBuffer(file) }) })

 

转载于:https://www.cnblogs.com/guan-shan/p/11580478.html

github地址: https://github.com/LoveZYForever/HXWeiboPhotoPicker 一. 安装 手动导入:将项目中的“HXWeiboPhotoPicker”文件夹拖入项目中 只使用照片选择功能 导入头文件 "HXPhotoViewController.h" 选完照片/视频后自动布局功能 导入头文件 "HXPhotoView.h" 二. 例子 Demo1 // 懒加载 照片管理类 - (HXPhotoManager *)manager { if (!_manager) { _manager = [[HXPhotoManager alloc] initWithType:HXPhotoManagerSelectedTypePhotoAndVideo]; } return _manager; } // 照片选择控制器 HXPhotoViewController *vc = [[HXPhotoViewController alloc] init]; vc.delegate = self; vc.manager = self.manager; [self presentViewController:[[UINavigationController alloc] initWithRootViewController:vc] animated:YES completion:nil]; // 通过 HXPhotoViewControllerDelegate 代理返回选择的图片以及视频 - (void)photoViewControllerDidNext:(NSArray *)allList Photos:(NSArray *)photos Videos:(NSArray *)videos Original:(BOOL)original // 点击取消 - (void)photoViewControllerDidCancel Demo2 // 懒加载 照片管理类 - (HXPhotoManager *)manager { if (!_manager) { _manager = [[HXPhotoManager alloc] initWithType:HXPhotoManagerSelectedTypePhotoAndVideo]; } return _manager; } self.navigationController.navigationBar.translucent = NO; self.automaticallyAdjustsScrollViewInsets = YES; HXPhotoView *photoView = [[HXPhotoView alloc] initWithFrame:CGRectMake((414 - 375) / 2, 100, 375, 400) WithManager:self.manager]; photoView.delegate = self; photoView.backgroundColor = [UIColor whiteColor]; [self.view addSubview:photoView]; // 通过 HXPhotoViewDelegate 代理返回 选择、移动顺序、删除之后的图片以及视频 - (void)photoViewChangeComplete:(NSArray *)allList Photos:(NSArray *)photos Videos:(NSArray *)videos Original:(BOOL)isOriginal // 当 HXPhotoView 更新frame改变大小时 - (void)photoViewUpdateFrame:(CGRect)frame WithView:(UIView *)view 三. 更多 具体代码看请下载项目 发现的哪里有不好或不对的地方麻烦请联系我,大家一起讨论一起学习进步... QQ : 294005139
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值