【问题标题】:Ionic 4 File upload going to previous pageIonic 4 文件上传到上一页
【发布时间】:2019-11-22 15:26:39
【问题描述】:

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

在两种情况下(成功/失败)上传图像应用程序后都会转到上一页。

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 (cordova-lib@9.0.1)
   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

编辑: 添加了新信息。

【问题讨论】:

  • 您能分享更多该页面代码吗?模板用户路由器是否链接等?
  • 是的,我正在使用 Angular 路由器。但不在此页面上使用它。
  • 所以你能分享更多你的代码吗?如果没有这种背景,就不可能提供帮助。该插件本身并不管理您的页面导航,因此它是其他的东西......
  • @SergeyRudenko 这就是我面临的真正问题。为什么会这样。我在这个页面上什么都没有。除了相机和文件上传。

标签: android ios angular cordova ionic-framework


【解决方案1】:

问题已解决:

实际发生的事情:

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

【讨论】:

    猜你喜欢
    • 2019-07-20
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2013-04-06
    • 2017-11-09
    相关资源
    最近更新 更多