NativeScript / NativeScript/plugins

[@nativescript/background-http] Error on uploading files

Offen
#283 5 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
206
Forks
123
Ø Merge
2 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

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?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Stacktrace in node_modules/@nativescript/background-http/index.android.js, insbesondere mit setRequestOptions in Zeile 247, und untersuche anschließend den Upload-Aufruf in src/app/sl/services/upload/upload.service.ts ungefähr in den Zeilen 97, 108 und 251. Reproduziere den Fehler mit den bereitgestellten Paketversionen und der Upload-Konfiguration unter Android; abgeschlossen ist die Aufgabe, wenn die Ursache identifiziert ist und der Datei-Upload nicht mehr den NotificationConfig-Fehler auslöst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, typescript
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.