使用IONIC 4处理项目并面对奇怪行为,同时使用文件传输插件将图像/照片上传到远程服务器。

上载Image应用程序后,两种情况都转到上一页(成功/失败)。

import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer/ngx';
import { File } from '@ionic-native/file/ngx';
     constructor{
        private camera: Camera,
        private transfer: FileTransfer,
        private file: File,
      ) {
    }
    takePhoto(){
      const options: CameraOptions = {
        quality: 50,
        destinationType: this.camera.DestinationType.FILE_URI,
        encodingType: this.camera.EncodingType.JPEG,
        mediaType: this.camera.MediaType.PICTURE,
        sourceType: this.camera.PictureSourceType.CAMERA,
        correctOrientation: true
      }

      this.camera.getPicture(options).then((imageData) => {
       // imageData is either a base64 encoded string or a file URI
       // If it's base64 (DATA_URL):
       this.uploadPhoto(imageData);
      }, (err) => {
       // Handle error
      });
    }
    uploadPhoto(path){
       const fileTransfer: FileTransferObject = this.transfer.create();
           let options: FileUploadOptions = {
              fileKey: 'file',
              fileName: '.png',
              chunkedMode: false,
              //mimeType: "image/jpeg",
           }
           fileTransfer.upload(path, 'my remote server url', options)
              .then((data) => {
               console.log(JSON.parse(data.response));
               let res = JSON.parse(data.response);
               if (res.status == 1) {
                  this.general.presentToast('Event Image Updated');
               }
            }, (err) => {
                console.log(err);
            });
        }

上载图像应用程序后,意外转到上一页。
插件详细信息:
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"

Ionic:


   Ionic CLI                     : 5.2.1 (C:\Users\ammar\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.6.2
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1

Cordova:

   Cordova CLI       : 9.0.0 ([email protected])
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 13 other plugins)

Utility:

   cordova-res : 0.5.1
   native-run  : 0.2.7

System:

   Android SDK Tools : 26.1.1 (C:\Users\ammar\AppData\Local\Android\Sdk)
   NodeJS            : v10.15.3 (C:\Program Files\nodejs\node.exe)
   npm               : 6.11.3
   OS                : Windows 10

编辑:
添加了新信息。

最佳答案

问题解决了:

实际发生了什么:

我有网络插件来检查连接是否丢失,并且只要应用程序来自摄像机,网络插件就会调用该应用程序并将其路由到上一页,因此打开相机会导致此问题。所以我不得不改变网络逻辑,这解决了我的问题。
现在,我注意到另一件事,当您打开安装了网络插件的相机时,它将检查互联网连接。为什么?

10-02 22:11