diff --git a/package-lock.json b/package-lock.json index d965cf4..2c79cea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "react-native-appwrite", - "version": "0.2.0", + "version": "0.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "react-native-appwrite", - "version": "0.2.0", + "version": "0.2.1", "license": "BSD-3-Clause", "dependencies": { "expo-device": "5.9.3", diff --git a/package.json b/package.json index 7d9ed9c..3bd2cf2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "react-native-appwrite", "homepage": "https://appwrite.io/support", "description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API", - "version": "0.2.0", + "version": "0.2.1", "license": "BSD-3-Clause", "main": "dist/cjs/sdk.js", "exports": { diff --git a/src/services/storage.ts b/src/services/storage.ts index 04d72da..4bf215d 100644 --- a/src/services/storage.ts +++ b/src/services/storage.ts @@ -3,6 +3,7 @@ import { AppwriteException, Client } from '../client'; import type { Models } from '../models'; import type { UploadProgress, Payload } from '../client'; import * as FileSystem from 'expo-file-system'; +import * as Device from 'expo-device' export class Storage extends Service { @@ -139,8 +140,12 @@ export class Storage extends Service { position: offset, length: Service.CHUNK_SIZE }); - - payload['file'] = {uri: `data:${file.type};base64,${chunk}`, name: file.name, type: file.type}; + var path = `data:${file.type};base64,${chunk}`; + if (Device.osName == 'Android') { + path = FileSystem.cacheDirectory + '/tmp_chunk'; + await FileSystem.writeAsStringAsync(path, chunk, {encoding: FileSystem.EncodingType.Base64}); + } + payload['file'] = {uri: path, name: file.name, type: file.type}; response = await this.client.call('post', uri, apiHeaders, payload); if (onProgress) {