如何修复“拒绝”以将图像加载到cordova中?

问题描述

我制作了cordova应用程序以从相机和画廊上传图像,并且我希望将该文件上传至服务器。

这是我的JavaScript代码

    document.addEventListener('deviceready',function(){
      pictureSource = navigator.camera.PictureSourceType;
      destinationType = navigator.camera.DestinationType;
    });

    function onPhotoFileSuccess(imageData) {
      alert("onPhotoFileSuccess was called. imageData: "+imageData);
      // Get image handle
      console.log(JSON.stringify(imageData));
      $('#imagePreview').css('background-image','url('+imageData +')');
      uploadimgdata=imageData;
    }
    // Called when a photo is successfully retrieved
    //
    function onPhotoURISuccess(imageURI) {
      alert("onPhotoURISuccess was called. imageuri: "+imageURI);
      if (imageURI.substring(0,21)=="content://com.android") {
        photo_split=imageURI.split("%3A");
        imageURI="content://media/external/images/media/"+photo_split[1];
      }

      $('#imagePreview').css('background-image','url('+imageURI +')');

    uploadimgdata=imageURI;
    }

    function capturePhotoWithFile() {
        navigator.camera.getPicture(onPhotoFileSuccess,onFail,{ quality: 50,destinationType: Camera.DestinationType.FILE_URI });
    }


    function getPhoto(source) {
      navigator.camera.getPicture(onPhotoURISuccess,destinationType: destinationType.FILE_URI,sourceType: source });
    }

    function onFail(message) {
     messageAlert(message);
    }

这是我的查看代码

<div class="item-inner">
  <div class="item-title item-label">Upload File</div>
  <div class="item-input-wrap">
    <div class="avatar-upload sheet-open" data-sheet=".my-sheet-swipe-to-close-file">
      <div class="avatar-edit">
      </div>
      <div class="avatar-preview">
        <div id="imagePreview" style="background-image: url('./img/other/notfound.jpg');">
        </div>
      </div>
    </div>
  </div>
</div>


<div class="sheet-modal my-sheet-swipe-to-close-file" style="height:195px; --f7-sheet-bg-color: #fff;">
  <div class="sheet-modal-inner">
    <div class="page-content">
      <div class="block-title block-title-large text-align-center"><b>Choose File</b></div>
      <div class="block text-align-center">
        <div class="row">
          <div class="col-50">
            <a href="#" class="col sheet-close text-align-center" onclick="capturePhotoEdit();" style="display: grid;">
              <i class="fas fa-camera" style="display: block;position: relative;margin: 0px auto;font-size: 40px;padding: 20px;border-radius: 50%;Box-shadow: 0 8px 25px 0 rgba(0,0.2);margin-bottom: 10px;"></i>Take a Picture
            </a>
          </div>
          <div class="col-50">
            <a href="#" class="col sheet-close text-align-center" onclick="getPhoto(navigator.camera.PictureSourceType.SAVEDPHOTOALBUM);" style="display: grid;">
              <i class="far fa-folder-open" style="display: block;position: relative;margin: 0px auto;font-size: 40px;padding: 20px;border-radius: 50%;Box-shadow: 0 8px 25px 0 rgba(0,0.2);margin-bottom: 10px;"></i>Pilih Gambar
            </a>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

但是从该代码中我会得到这样的错误

拒绝加载图像'content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2FIMG_20201106_132412.jpg',因为它违反了以下内容安全策略指令:“ img-src'self'blob:数据:”。

拒绝加载图像'content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2FIMG_20201106_132412.jpg',因为它违反了以下内容安全策略指令:“ default-src *'self''unsafe-inline''unsafe-eval'data:gap:“。请注意,未明确设置“ img-src”,因此将“ default-src”用作后备。

请帮助我修复此错误,谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)