Вот некоторые рекомендации для вас, я использовал эти плагины раньше:
Чтобы открыть средство выбора файлов в телефоне, чтобы пользователь мог просмотреть и выбрать файл: cordova-plugin-filechooser
: https://www.npmjs.com/package/cordova-plugin-filechooser
Чтобы получить путь к файлу после того, как пользователь выбрал файл: cordova-plugin-filepath
: https://www.npmjs.com/package/cordova-plugin-filepath
Чтобы прочитать файл и преобразовать его в Blob, чтобы можно было загрузить в сервер: cordova-plugin-file
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
Вот пример того, как интегрировать 3 библиотеки в JS, чтобы пользователь мог выбрать файл PDF в своем телефоне и загрузить на сервер. на его основе конвертировать в angular
uploadFile() {
let vm = this;
let filter = { "mime": "application/pdf" };
// open file chooser
fileChooser.open(filter, function(uri) {
// change content:// to path:///
window.FilePath.resolveNativePath(uri, function(fs) {
vm.successCallback(fs)
}, vm.onError());
});
},
successCallback(localFileUri) {
let vm = this;
// open file using path
let fileFormat = localFileUri.substr(localFileUri.length - 4);
// manually rejected if not pdf, because mime filter is not working on some phone
if (fileFormat !== ".pdf") {
return false;
}
window.resolveLocalFileSystemURL(localFileUri, function(fs) {
console.log(fs);
fs.file(function(res) {
var reader = new FileReader();
reader.onloadend = (evt) => {
var fileBlob = new Blob([evt.target.result], { type: "application/pdf" });
vm.sendToServer({ file: fileBlob, name: fs.name });
};
reader.readAsArrayBuffer(res);
})
}, vm.onError());
},