如何从 Ionic 3 上传图像?

How to upload images from Ionic 3?

我必须在 Ionic 3 中使用相机和图库上传图像。我的 REST 后端在 php 中。我必须在 "multipart/form-data" 中发送没有 fileTransfer.upload() 函数的图像数据。当我在 php 中使用 print_r($_FILES) 时,它显示黑色数组。

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);
        });
    });
}