PDF-файл, загруженный из веб-службы в приложение cordova, поврежден - PullRequest
0 голосов
/ 24 мая 2019

У меня есть приложение Cordova, которое запрашивает файл из веб-службы.Служба получает файл и использует следующий код c # для преобразования и отправки его обратно:

byte[] bytes = System.IO.File.ReadAllBytes(filepath);
return bytes;

Следующий код - это то, что я использую в приложении (javascript)

var bytes = new Uint8Array(data); 
WriteFile(filename, bytes);

Который вызывает следующую функцию:

function WriteFile(fileName, data) {

try {
    window.resolveLocalFileSystemURL(cordova.file.externalApplicationStorageDirectory, function (directoryEntry) {
        directoryEntry.getFile(fileName, { create: true }, function (fileEntry) {

            fileEntry.createWriter(function (fileWriter) {
                fileWriter.onwriteend = function (e) {
                        //window.open(cordova.file.externalApplicationStorageDirectory + fileName, '_system', 'location=yes');
                        cordova.plugins.fileOpener2.open(cordova.file.externalApplicationStorageDirectory + fileName, 'application/pdf',
                        {
                            error: function (e) {
                                console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
                            },
                            success: function () {
                                console.log('file opened successfully');
                            }
                        }
                    );
                };

                fileWriter.onerror = function (e) {
                    alert(e);
                };

                var blob = new Blob([data], { type: 'application/pdf' });

                fileWriter.write(blob);

            }, function onerror(e) {
                alert(e);
            });
        }, function onerror(e) {

            alert(e);
        });
    }, function onerror(e) {            
        alert(e);
    });

} catch (e) {
     alert(e);
}

}

Это способ отправки файла?или то, как я собираю это вместе, вызывает у меня проблемы?

Данные отправляются в виде очень длинной строки, и я не совсем уверен, что они не усекаются в какой-то момент после приложенияполучает его (все кажется там, когда он покидает службу)

Вся помощь приветствуется.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...