Ionic - openFileDialog无法正常工作(无法启动或崩溃)

时间:2016-10-12 13:26:09

标签: angularjs ionic-framework

我对离子有一些麻烦。在android不到4.4.2 openFileDialog不起作用。在设备上使用android 4.4.2-6.x openFileDialog正在运行。当用户在4.4.2上选择图像时应用程序崩溃。在Android 6.x应用程序崩溃时,只有用户通过图库选择图像。

查看

<ion-list>
            <ion-item ng-repeat="stampImage in orderSettings.getStampImages() ">
              <a class="item item-thumbnail-left">
                <img  file-preview="stampImage" />
                <h2> {{ stampImage.name }}</h2>
              </a>
            </ion-item>

          </ion-list>

          <button id="getRStampFile" style="text-align:right;" class="button button-positive  icon-left ion-android-add-circle" ng-click="openFileDialog()">Add image</button>
          <input type="file" id="fileRStamp" ng-model="newImage" base-sixty-four-input file-changed hidden />

控制器

$scope.openFileDialog=function() {
    console.log('fire! $scope.openFileDialog()');
    ionic.trigger('click', { target: document.getElementById('fileRStamp') });
  };

Direcive

.directive('fileChanged', function (orderSettings) {
  return {
    restrict: 'A',
    require: '?ngModel',
    link: function ($scope, element, attrs, ngModel) {
      if (!ngModel) {
        return;
      }

      ngModel.$render = angular.noop;

      element.bind('change', function (event) {
        ngModel.$setViewValue(event.target.files[0]);
        if (event.target.files[0].name.localeCompare('')!=0){
          orderSettings.addStampImages(event.target.files[0]);
          var file = event.target.files[0];
          var reader  = new FileReader();
          reader.addEventListener("load", function () {
            //preview.src = reader.result;
            orderSettings.addStampImages64({'filename': file['name'], 'filebody': reader.result});
          }, false);

          if (file) {
            reader.readAsDataURL(file);
          }
        }
        $scope.$apply();
      });
    }
  };
})

当我在浏览器中测试时 - 一切正常。 我做错了什么?

0 个答案:

没有答案