NativeScript / NativeScript/plugins
[@nativescript/background-http] Error on uploading files
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 206
- Forks
- 123
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 1
Description
Hello, after updating to newest NativeScript version, we're experiencing issues with file upload. It worked previously with NativeScript 6.
Packages:
"@nativescript/core": "^8.2.2",
"@nativescript/angular": "^13.0.3",
"@nativescript/background-http": "^6.0.0"
Upload config:
const request: Request = {
url: this._getUrl(fileToUpload.addImageResponse),
method: "PUT",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"x-ms-blob-content-type": "image/jpeg",
"x-ms-blob-type": "BlockBlob"
},
description: "Uploading " + fileToUpload.fileName,
androidAutoClearNotification: true,
androidAutoDeleteAfterUpload: true
};
const task = this.session.uploadFile(fileToUpload.nativeFile.path, request);
task.on("progress", (e) => this._progressHandler(e as ProgressEventData, fileToUpload));
task.on("error", (e) => this._errorHandler(e as ErrorEventData, fileToUpload));
task.on("responded", this._respondedHandler);
task.on("complete", () => this._completeHandler(fileToUpload));
task.on("cancelled", this._cancelledHandler); // Android only
When executing, we're getting following error:
JS: ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'NotificationConfig' of undefined
JS: TypeError: Cannot read property 'NotificationConfig' of undefined
JS: at setRequestOptions (file: src/webpack:/.../node_modules/@nativescript/background-http/index.android.js:247:0)
JS: at getBinaryRequest (file: src/webpack:/.../node_modules/@nativescript/background-http/index.android.js:221:0)
JS: at Function.create (file: src/webpack:/.../node_modules/@nativescript/background-http/index.android.js:152:0)
JS: at Session.uploadFile (file: src/webpack:/.../node_modules/@nativescript/background-http/index.android.js:139:0)
JS: at UploadService._uploadToCloud (file: src/webpack:/.../src/app/sl/services/upload/upload.service.ts:251:0)
JS: at UploadService._checkAndUploadNextFile (file: src/webpack:/.../src/app/sl/services/upload/upload.service.ts:108:0)
JS: at UploadService._checkAndPrepareNextFile (file: src/webpack:/.../src/app/sl/services/upload/upload.service.ts:97:0)
JS: at file: src/webpack:/.../src/app/sl/services/upload/upload.service.ts:184:0
JS: at _ZoneDelegate.in...
Tested on multiple Android devices with android versions from 10 to 12. Not sure if iOS has the same error. Any suggestions?
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la trace de la pile dans node_modules/@nativescript/background-http/index.android.js, en particulier setRequestOptions à la ligne 247, puis examinez l’appel d’upload dans src/app/sl/services/upload/upload.service.ts autour des lignes 97, 108 et 251. Reproduisez l’échec avec les versions de package et la configuration d’upload fournies sur Android ; le travail est terminé lorsque la cause est identifiée et que l’upload de fichier ne déclenche plus l’erreur NotificationConfig.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, typescript
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100