невозможно загрузить изображения через плагин FileTransfer из ionic 3 в Cloudinary - PullRequest
0 голосов
/ 27 февраля 2019

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

И я использовал плагин File Transfer для загрузки фотографий сПриложение ionic3 для cloudinary.

это функция upload():

upload() {
    const fileTransfer: FileTransferObject = this.transfer.create();
    let options: FileUploadOptions = {
        fileKey: 'testName',
        fileName: 'test',
        mimeType : "text/plain",
        headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' },
        params:{upload_preset:'preset'}
    };
    let url = 'https://api.cloudinary.com/v1_1/<cloud_name>/image/upload';
    if (this.imageURI) {
        fileTransfer.upload(this.imageURI[0], encodeURI(url), options)
                .then((data) => {
                    console.log('uploaded heeere data', JSON.stringify(data))
                }, (err) => {
                    console.log('errorrrr', JSON.stringify(err))
                })
    }
}

this.imageUri[0] - это фотография в виде базы 64

и в app.module.ts у меня естьуказал конфигурацию cloudinary:

 import { CloudinaryConfiguration, CloudinaryModule } from "@cloudinary/angular-5.x";
 import { Cloudinary } from "cloudinary-core";


@NgModule({
declarations: [....],
imports: [
BrowserModule,
HttpClientModule,
CloudinaryModule.forRoot({Cloudinary}, {
      cloud_name: "<cloud_name>",
      upload_preset: 'preset',
      api_key:'<api_key>'
  } as CloudinaryConfiguration),
]
.......
})

Но я не смог загрузить.Ошибка не отображается .. Просто сообщение: File Name is too long

Я не знаю, установлено ли соединение или нет, и это cloudinary, кто отказывается от файлов с длинными именами или как?

Может кто-нибудь помочь мне, как отладить, чтобы увидеть, где проблема?или кто-то может помочь мне исправить это?

Большое спасибо.

1 Ответ

0 голосов
/ 27 февраля 2019

вы должны отправить имя изображения без кодировки base64, сервер считывает base64 как файл имени, поэтому вы должны отправить имя файла в первом параметре

...