Как загрузить изображения из Ionic 3? - PullRequest
0 голосов
/ 05 июля 2018

Мне нужно загрузить изображение с помощью камеры и галереи в Ionic 3. Мой REST бэкэнд находится в php. Я должен отправить данные изображения в «multipart / form-data» без функции fileTransfer.upload (). Когда я использую print_r ($ _ FILES) в php, он показывает черный массив.

1 Ответ

0 голосов
/ 05 июля 2018
mobileUpload(): Observable<any> {

    let uploadUrl = '<YOUR API ENDPOINT>';

    const fileTransfer: FileTransferObject = this.transfer.create();

    return Observable.create((observer: Observer<any>) => {

        this.filepickerService.pick().subscribe(uri => {
            let fileName = uri.substring(uri.lastIndexOf('/') + 1).split('?').reverse().pop();

            let options: FileUploadOptions = {
                fileKey: 'file',//key name you will use in $_FILE 
                fileName: fileName,
                mimeType: this.filepickerService.mimeType(uri),
                headers: {
                    "Authorization": "Bearer " + this._authService.getAccessToken()
                }
            }

            let loader = this._loadingCtrl.create();
            loader.present();

            fileTransfer.upload(uri, uploadUrl, options)
                .then((data) => {
                    loader.dismiss();
                    observer.next(JSON.parse(data.response));
                    observer.complete();
                },
                (err) => {
                    loader.dismiss();
                    observer.error(err);
                }).catch(e => {
                    loader.dismiss();
                });

        }, err => {
            observer.error(err);
        });
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...