Конвертируйте изображение в Base64 перед загрузкой с помощью ng2-file-upload - PullRequest
0 голосов
/ 27 января 2019

В настоящее время я использую библиотеку ng2-file-upload (https://www.npmjs.com/package/ng2-file-upload) для угловой загрузки файлов на сервер, но я немного пытаюсь отправить данные в тело с base64 String, подскажите, пожалуйста, что я здесь делаю не так

Моя основная задача - убедиться, что в теле есть любое количество файлов с двоичным кодом

Ниже я попробовал

public uploader: FileUploader = new FileUploader({
    url: 'http://test.com',
    itemAlias: 'photo',
    authToken: 'Bearer ' + this.accessToken,
    headers: [{ name: 'Content-Type', value: 'application/json; charset=utf-8' }],
    disableMultipart: true,
    formatDataFunctionIsAsync: true,
    formatDataFunction: async (item) => {
        return new Promise((resolve, reject) => {
            resolve({
                documentType: 'Photo',
                contentType: 'PNG',
                documentCode: '1234',
                uploadCode: '564',
                data: this.extractBinary(this.uploader.queue[0])
            });
        });
    }
});

extractBinary(file) {
    file.withCredentials = false;
    const reader = new FileReader();
    let binaryValue;
    reader.onload = (event) => {
        binaryValue = reader.result;
        return binaryValue;
    };
    return reader.readAsDataURL(file._file);
}
...