Как загрузить несколько изображений и отдельные изображения с другим параметром - PullRequest
0 голосов
/ 04 мая 2019

Я хочу загрузить несколько изображений, а затем отправить на сервер.Пока я отправляю отдельные изображения с параметром attach_images, но мне нужно отправить несколько изображений с параметром option_images, Как я могу это сделать.

У меня есть код для загрузки отдельных изображений.Какой код я должен добавить?

<input id="custom-input" type="file" (change)="handleFiles($event)" multiple >

handleFiles = function (fileInput: Event) {
    debugger;
debugger;
        this.imageArr = ['image/jpeg', 'image/jpg', 'image/png','image/gif'];


    if (fileInput.target['files'][0]['size'] > 1024000) {
        $.growl.error({ title: 'Error', message: "File can not be larger than 1 MB" });
        return;
    }
    if (!this.imageArr.includes(fileInput.target['files'][0]['type'])) {
        $.growl.error({ title: 'Error', message: "Invalid file format." });
        return;
    }

    var file: File = fileInput.target['files'][0];

        this.extention = file.name.substr((file.name.lastIndexOf('.') +1)).toLowerCase();
    var reader = new FileReader();  
    reader.onload = this._handleReaderLoaded.bind(this);
    reader.readAsBinaryString(fileInput.target['files'][0]);
}

    _handleReaderLoaded(readerEvt) {

        var binaryString = readerEvt.target.result;
        this.base64textString = btoa(binaryString);
        this.attached_image = 'data:image/jpeg;base64,' + this.base64textString;
        if (this.attached_image) {
            this.flashMsg = "Image uploaded successfully!";
        }
    }

Пожалуйста, ваша помощь будет высоко оценена.

1 Ответ

0 голосов
/ 04 мая 2019

Загрузка нескольких файлов b64 в одном может быть невозможна, проще всего просто отправить изображения в массиве по одному.

Существует утилита, которая может помочь для загрузки b64: https://www.npmjs.com/package/angular-base64-upload

...