huilder 上传图片 保存图片 拍照 muse ui

html

<mu-bottom-sheet :open.sync="open">
  <mu-list class="list_btn">
    <mu-list-item button @click.stop="setImg" class="btn_list">
      <mu-list-item-title class="btn_text">拍照</mu-list-item-title>
    </mu-list-item>
    <mu-list-item button @click.stop="topMenuRight" class="btn_list">
      <mu-list-item-title class="btn_text">从手机相册选择</mu-list-item-title>
    </mu-list-item>
    <mu-list-item button @click.stop="saveImg" class="btn_list">
      <mu-list-item-title class="btn_text">保存图片</mu-list-item-title>
    </mu-list-item>
    <mu-list-item button @click.stop="open = false" class="btn_list">
      <mu-list-item-title class="btn_text">取消</mu-list-item-title>
    </mu-list-item>
  </mu-list>
</mu-bottom-sheet>

js

// 保存图片

saveImg () {
  let self = this
  console.log('图片地址' + self.$store.state.user.icon)
  plus.gallery.save(self.$store.state.user.icon, function () {
    self.$toast.success('保存图片到相册成功')
    self.open = false
  },function(){
    self.$toast.error('保存失败')
  })
},
//拍照
setImg () {
  let self = this
  let cmr = plus.camera.getCamera()
  cmr.captureImage(function (p){
    plus.io.resolveLocalFileSystemURL(p, function(entry){
      self.resolveImg(entry.toLocalURL())
    }, function(e){})
  }, function(e){},{filename: '_doc/camera/'})
},

// 压缩

resolveImg (path) {
  this.open = false
  //图片太大,需要压缩
  let self = this
  let substr = path.substr(path.lastIndexOf("/") + 1)
  plus.io.resolveLocalFileSystemURL (path, function(entry) {
    entry.file(function(file) {
      let imgSize = file.size;
      plus.zip.compressImage({
        src: path,
        dst: '_doc/' + substr,
        width: '100%',
        quality: 100,
        overwrite: true
      }, function(event) {
        console.log("压缩成功-->" + event.target)
        let minImg = event.target
        console.log(minImg)
        self.updateIcon(minImg) // 后台接口方法
      })
    })
  }, function(e) {
    alert("Resolve file URL failed: " + e.message)
  })
},

猜你喜欢

转载自blog.csdn.net/duanran0/article/details/86128099
今日推荐