Скачать файл в ионном дает ошибку, как код ошибки 1 - PullRequest
0 голосов
/ 16 декабря 2018

Я использую ionic-file-trasnfer в своем ионном проекте. Я использую то же самое, что и документация, например: -

download() {
  const url = 'http://www.example.com/file.pdf';
  fileTransfer.download(url, this.file.dataDirectory + 'file.pdf').then((entry) => {
    console.log('download complete: ' + entry.toURL());
  }, (error) => {
    // handle error
  });
}

Но, я получил код ошибки 1 .. Это происходит в функции обратного вызова ошибки, а не вУспешный обратный вызов

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

import { DocumentViewer} from '@ionic-native/document-viewer';
import { FileTransfer, FileTransferObject } from '@ionic-native/file-transfer';
import {File} from '@ionic-native/file';
import {Toast} from '@ionic-native/toast';

constructor(private document:DocumentViewer, private file: File, private transfer: FileTransfer, private toast: Toast){}

.....

public download() {
        let path = null;
            if(this.platform.is('ios')){
                path = this.file.documentsDirectory;
            }else if(this.platform.is('android')){
                path = this.file.dataDirectory;
            }
            const fileTransfer: FileTransferObject = this.transfer.create();
            fileTransfer.download('http://www.example.com/file.pdf',path + 'file.pdf').then((entry)=>{
                let url = entry.toURL();
                this.toast.show('Download Complted', '5000','center').subscribe(
                    toast=>{
                        console.log(toast);
                    }
                );
                this.document.viewDocument(url, 'application/pdf', {});
            });
        }

Я немного отредактировал ваш код, вы можете взглянуть на этот код.Я надеюсь, что это поможет вам.

0 голосов
/ 17 декабря 2018

Вы должны создать новый объект переноса файлов в эту функцию.Пожалуйста, найдите ниже код

import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';
import { File } from '@ionic-native/file';
import { FileOpener } from '@ionic-native/file-opener';

constructor(private transfer: FileTransfer, private file: File, private fileOpener: FileOpener) { }

...
download() {

 const url = 'http://www.example.com/file.pdf';
 const fileTransfer: FileTransferObject = this.transfer.create();
  fileTransfer.download(url, this.file.dataDirectory + 'file.pdf').then((entry) => {
    console.log('download complete: ' + entry.toURL());
     this.fileOpener.open(entry.toURL(), 'application/pdf')
  .then(() => console.log('File is opened'))
  .catch(e => console.log('Error opening file', e));
  }, (error) => {
    // handle error
  });

Для открытия файла вы должны добавить плагин fileOpener (https://ionicframework.com/docs/native/file-opener/), Я только что обновил код, пожалуйста, просмотрите его.

Надеюсь, это поможет вам!

...