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

友情提示:javascript

若是保证项目当中只会一次上传一张图片的能够不用下列方法:html

只用下载Cordova-plugin-camera获取到图片或视频便可,将他们转化为base64格式,再将base64转化为File中,再将File放进formdata当中就能够上传,java

若是不能保证,就用下列方法:api

其余获取多张图片的插件会默认将cordova-plugin-file安装,这样会改变js当中的file格式,因此放到formdata中上传会出错,如何修改请看上传多张图片函数

 

1.下载插件spa

cordova plugin add cordova-plugin-file-transfer  //上传图片插件(一次只能上传一张)插件

cordova plugin add cordova-plugin-camera        //获取图片,视频插件,一次只能够获取一张code

cordova plugin add cordova-plugin-file              //会改变js中的file格式orm

2.获取图片,视频视频

navigator.camera.getPicture((imageData)=>{
      console.log(imageData)
//上传图片视频的函数
uploadImage(imageData) },(err)
=>{ console.log(err) },{ //配置 destinationType: Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.PHOTOLIBARY, allowEdit: true })

配置API:https://www.w3cschool.cn/cordova/cordova_camera.html

3.上传

function uploadImage(fileURL){
          var ft = new FileTransfer()
          var options = new FileUploadOptions()
      //对应后台的字段 options.fileKey
= 'avatar' options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1); var uri = '上传的地址' ft.upload( fileURL, encodeURI(uri), (msg)=>{ console.log('SUCCESS:') console.log(msg) }, (err)=>{ console.log('ERROR:') console.log(err) }, options ) },

配置api:https://www.javascriptcn.com/read-60998.html