이미지를 Base64로 저장할 때 Ionic보기에서 앱 충돌

BastianBuhrkall

최근에 사진을 저장하려고 할 때 Ionic 응용 프로그램에 문제가 발생했습니다.

이미지를 캡처하고 내 범위에 base64 문자열로 저장하기 위해 ngcordova 플러그인을 사용하고 있습니다.

나는 사진을 저장하기 위해 localstorage를 사용하기로 결정했습니다. 그다지 중요하지 않은 이미지 품질이 낮기 때문입니다.

사진을 찍는 방법

    $scope.takePictureFront = function(){
  var cameraOptions = {
    quality: 10,
    destinationType: Camera.DestinationType.DATA_URL
  };
  var success = function(data){
    $scope.$apply(function () {
      /*
       remember to set the image ng-src in $apply,
       i tried to set it from outside and it doesn't work.
       */
      $scope.cameraPicFront = "data:image/jpeg;base64," + data;
      alert('Inserting front ');

    });
  };
  var failure = function(message){
    alert('Failed because: ' + message);
  };
  //call the cordova camera plugin to open the device's camera
  navigator.camera.getPicture( success , failure , cameraOptions );
};

localstorage에 저장할 개체

  var newCustomer = {
    firstname: $scope.customer.firstname(),
    lastname: $scope.customer.lastname(),
    title: $scope.customer.title(),
    phone: $scope.customer.phone(),
    cellphone: $scope.customer.cellphone(),
    email: $scope.customer.email(),
    timeStamp: today,
    metAt: $scope.conferencePicked,
    addedBy : $scope.userLoggedIn,
    imageFront : $scope.cameraPicFront,
    imageBack : $scope.cameraPicBack,
    comment: $scope.customer.comment(),
    interests : $scope.selected

};

객체 배열이 localstorage에 저장되는 방법

$scope.storedJSON = JSON.parse(window.localStorage['data'] || '{"companies":[],"customers":[]}');
        $scope.storedJSON.customers.push(newCustomer);
        $scope.storedJSON.companies.push(newCompany);
        var jsonData = JSON.stringify($scope.storedJSON);
        window.localStorage['data'] = jsonData;
        $state.go('tab.search');

ipad, 태블릿 및 Android 장치에서 날짜를 입력하려고 할 때 앱이 유휴 상태가 된 다음 충돌하거나 응답하지 않습니다.

어떤 권장 사항이 있습니까?

편집하다

이에 대한 해결 방법을 찾았습니다. 내가 이것을 시도한 훌륭한 전화와 태블릿조차도 그러한 파일을 localstorage에 저장하는 데 문제가 있습니다.

나는 카메라 플러그인의 옵션을 편집했고 이제 더 낮은 taget 해상도로 더 작은 이미지를 저장하고 있으며 모든 것이 잘 작동하는 것 같습니다. 미래에이 버려진 질문에 걸려 넘어지는 사람을 위해 :)

이상한 팬더

응용 프로그램에 메모리 누수가있을 수 있습니다. 귀하의 앱이 어떻게 작동하는지 모르기 때문에 이것이 최선의 추측입니다. 시도 할 수있는 또 다른 방법은 LocalStorage가 허용되는지 확인하는 것입니다. LocalStorage (개인 경험)를 사용하려고 할 때 많은 메모리 위반이있었습니다.

내가 추천 할 수있는 것은 base64를 텍스트 파일에 저장하는 것입니다. 이것은 읽기 / 쓰기 작업이 실제로 메모리를 적게 사용하므로 응용 프로그램의 성능을 방해하지 않습니다. :)

보세요 :

$scope.saveFileToDataStorate = function() {

    var data = JSON.stringify( newCustomer );

    $cordovaFile.writeFile( cordova.file.dataDirectory, 'userDetails.txt', data )
        .then( function( suc ){

            alert( 'File Saved! You can now try and open it.' );

        }, function( error ){ alert( error.code ); });

};

$cordovaFile컨트롤러에 종속성 을 포함해야합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CloudKit에 레코드를 저장할 때 앱 충돌

분류에서Dev

이미지를 ImageView로 설정하고 Android 7.1.1에서 실행할 때 앱이 충돌하는 이유

분류에서Dev

SQLite 데이터베이스에 저장하려고 할 때 앱 충돌

분류에서Dev

coreData에서 이미지를로드 할 때 충돌

분류에서Dev

RecyclerView를 스크롤 할 때 Android Picasso 이미지 로딩 앱 충돌

분류에서Dev

인터넷에 연결되어 있지 않을 때 이미지를 업로드 할 때 앱 충돌을 방지하는 방법

분류에서Dev

Cocoa WebView에서 URL을 다시로드 할 때 앱이 충돌했습니다.

분류에서Dev

이미지 URL을 문자열로 가져 오려고 할 때 앱 충돌

분류에서Dev

FaceCam을 사용할 때 Everyplay로 녹화를 미리 본 후 앱이 충돌 함

분류에서Dev

특정 장면으로 전환 할 때 iOS14에서 Unity 앱이 충돌 함

분류에서Dev

SQLite에 데이터를 삽입 할 때 앱 충돌

분류에서Dev

Spring MVC 웹 사이트를 Heroku에 배포 할 때 앱 충돌

분류에서Dev

AsyncTask Android에서 메서드를 호출 할 때 앱 충돌

분류에서Dev

핵심 데이터 앱 충돌에 노래 URL 경로 저장

분류에서Dev

SwiftUI : macOS의 HStack 내에서 3 개의 TextField로 ScrollView의 크기를 조정할 때 앱이 충돌합니다.

분류에서Dev

NSMutableArray에서 UITableView를 채우려 고 할 때 앱 충돌

분류에서Dev

다른 클래스에서 Alertdialog를 호출 할 때 앱 충돌

분류에서Dev

scheduleAtFixedRate 내에서 활동을 시작할 때 앱이 충돌 함

분류에서Dev

빌드 및 실행이 아닌 장치에서 실행할 때 앱 충돌

분류에서Dev

Pyinstaller로 시작할 때 Kivy 앱 충돌

분류에서Dev

탭으로 전환 할 때 앱 충돌

분류에서Dev

SharedPreferences를 사용할 때 앱 충돌

분류에서Dev

ImageView를 추가 할 때 앱 충돌

분류에서Dev

AsyncTask를 사용할 때 앱 충돌

분류에서Dev

getCheckedRadioButtonId ()를 추가 할 때 앱 충돌

분류에서Dev

Firebase Storage Swift에 이미지를 업로드 할 때 메모리 충돌

분류에서Dev

빈 EditText로 주문을 제출할 때 앱 충돌 중지

분류에서Dev

UUID를 정수로 저장할 때 충돌 최소화

분류에서Dev

"Enter"키를 사용할 때 계산기 앱 충돌

Related 관련 기사

  1. 1

    CloudKit에 레코드를 저장할 때 앱 충돌

  2. 2

    이미지를 ImageView로 설정하고 Android 7.1.1에서 실행할 때 앱이 충돌하는 이유

  3. 3

    SQLite 데이터베이스에 저장하려고 할 때 앱 충돌

  4. 4

    coreData에서 이미지를로드 할 때 충돌

  5. 5

    RecyclerView를 스크롤 할 때 Android Picasso 이미지 로딩 앱 충돌

  6. 6

    인터넷에 연결되어 있지 않을 때 이미지를 업로드 할 때 앱 충돌을 방지하는 방법

  7. 7

    Cocoa WebView에서 URL을 다시로드 할 때 앱이 충돌했습니다.

  8. 8

    이미지 URL을 문자열로 가져 오려고 할 때 앱 충돌

  9. 9

    FaceCam을 사용할 때 Everyplay로 녹화를 미리 본 후 앱이 충돌 함

  10. 10

    특정 장면으로 전환 할 때 iOS14에서 Unity 앱이 충돌 함

  11. 11

    SQLite에 데이터를 삽입 할 때 앱 충돌

  12. 12

    Spring MVC 웹 사이트를 Heroku에 배포 할 때 앱 충돌

  13. 13

    AsyncTask Android에서 메서드를 호출 할 때 앱 충돌

  14. 14

    핵심 데이터 앱 충돌에 노래 URL 경로 저장

  15. 15

    SwiftUI : macOS의 HStack 내에서 3 개의 TextField로 ScrollView의 크기를 조정할 때 앱이 충돌합니다.

  16. 16

    NSMutableArray에서 UITableView를 채우려 고 할 때 앱 충돌

  17. 17

    다른 클래스에서 Alertdialog를 호출 할 때 앱 충돌

  18. 18

    scheduleAtFixedRate 내에서 활동을 시작할 때 앱이 충돌 함

  19. 19

    빌드 및 실행이 아닌 장치에서 실행할 때 앱 충돌

  20. 20

    Pyinstaller로 시작할 때 Kivy 앱 충돌

  21. 21

    탭으로 전환 할 때 앱 충돌

  22. 22

    SharedPreferences를 사용할 때 앱 충돌

  23. 23

    ImageView를 추가 할 때 앱 충돌

  24. 24

    AsyncTask를 사용할 때 앱 충돌

  25. 25

    getCheckedRadioButtonId ()를 추가 할 때 앱 충돌

  26. 26

    Firebase Storage Swift에 이미지를 업로드 할 때 메모리 충돌

  27. 27

    빈 EditText로 주문을 제출할 때 앱 충돌 중지

  28. 28

    UUID를 정수로 저장할 때 충돌 최소화

  29. 29

    "Enter"키를 사용할 때 계산기 앱 충돌

뜨겁다태그

보관