Open sirajahmad1 opened 3 years ago
I have exactly the same issue with responseCode -1
{
JS: "eventName": "progress",
JS: "object": {
JS: "_observers": {
JS: "progress": [
JS: {}
JS: ],
JS: "error": [
JS: {}
JS: ],
JS: "complete": [
JS: {}
JS: ],
JS: "responded": [
JS: {}
JS: ]
JS: },
JS: "_session": {
JS: "_id": "image-upload-bg-http"
JS: },
JS: "_id": "image-upload-bg-http{4}",
JS: "_description": "{ 'uploading': 201911061645231201810021300161538485217.jpg }",
JS: "_upload": 173,
JS: "_totalUpload": 225738,
JS: "_status": "uploading"
JS: },
JS: "currentBytes": 173,
JS: "totalBytes": 225738
JS: }
JS: {
JS: "eventName": "error",
JS: "object": {
JS: "_observers": {
JS: "progress": [
JS: {}
JS: ],
JS: "error": [
JS: {}
JS: ],
JS: "complete": [
JS: {}
JS: ],
JS: "responded": [
JS: {}
JS: ]
JS: },
JS: "_session": {
JS: "_id": "image-upload-bg-http"
JS: },
JS: "_id": "image-upload-bg-http{4}",
JS: "_description": "{ 'uploading': 201911061645231201810021300161538485217.jpg }",
JS: "_upload": 173,
JS: "_totalUpload": 225738,
JS: "_status": "error"
JS: },
JS: "error": {},
JS: "responseCode": -1,
JS: "response": null
JS: }
It seems that this only effects some devices, I have the issue on the simulator (Pixel 3 XL API 29) and on a Huawei P20 Pro. On a Pixel 5 everything is fine.
@Cateye82 have you found any solutions or alternative to that
So far, unfortunately not, but I will investigate it more deeper. I keep you informed.
So far I found out that either the permission ist not working correctly, or the path is wrong: JS: java.io.FileNotFoundException: /storage/emulated/0/Download/201911061645231201810021300161538485217.jpg: open failed: EACCES (Permission denied)
The path seems to be right, so I take a closer look to the rights.
I implemented an additional check for the rights:
const permissions = require('nativescript-permissions');
permissions.requestPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE, "I need these permissions because I'm cool")
.then( () => {
console.log("Woo Hoo, I have the power!");
})
.catch( () => {
console.log("Uh oh, no permissions - plan B time!");
});
Output is:
JS: startActivityForResult 1231 JS: [[/storage/emulated/0/Download/201911061645231201810021300161538485217.jpg, 201911061645231201810021300161538485217.jpg, jpeg, image/jpeg]] JS: [{ JS: "name": "file", JS: "filename": "/storage/emulated/0/Download/201911061645231201810021300161538485217.jpg", JS: "mimeType": "image/jpeg" JS: }] JS: Woo Hoo, I have the power!
So the access is granted.
Ok I found the solution: https://github.com/NativeScript/nativescript-background-http/issues/263#issuecomment-681764178 At least it worked for me. Can you please proof it?
@Cateye82 #263 solution adding android:requestLegacyExternalStorage="true" to the AndroidManifest.xml doesn't help, I am still facing the same problem.
I am using the following tns versions:
"tns-android": { "version": "6.2.0" }, "tns-ios": { "version": "6.5.2" }
This is my AndroidManifest part for the rights:
<uses-sdk
android:targetSdkVersion="29"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<application
android:name="com.tns.NativeScriptApplication"
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="************"
android:theme="@style/AppTheme"
android:requestLegacyExternalStorage="true">
Did you checked the source file and the path?