tus-js-client doesn't upload file larger than 100Mb for Android. I've got next error - "Failed to upload because: Error: tus: cannot fetch file.uri as Blob, make sure the uri is correct and accessible. [object Object]"
I get video file data by "react-native-document-picker" library.
Than i get data like:
const assets = [{"fileCopyUri": "file:///data/user/0/...projectName...development/files/9467e842-4db4-4bf7-849d-f3c400120665/basketball2k168MB.mp4", "name": "basketball2k168MB.mp4", "size": 155686888, "type": "video/mp4", "uri": "content://com.android.providers.downloads.documents/document/raw%3A%2Fstorage%2Femulated%2F0%2FDownload%2Fbasketball2k168MB.mp4"}];
Than i push assets to tus upload component and get presight params:
const uploadFile = (file: any, idx: number) => {
const fileSize = file?.size || 0;
dispatch(GameVimeoPresignUrl(idx, fileSize)).then(
(data: VimeoPresignUrl) => {
const {uploadLink, chunkSize, uri} = data;
const uploader = new tus.Upload(file, {
uploadUrl: uploadLink,
endpoint: uploadLink,
retryDelays: [0, 3000, 5000, 10000, 20000],
chunkSize,
metadata: {
filename: `video.${file.name}`,
filetype: file.type,
},
onError: onUploadError,
onProgress: (bytesUploaded, bytesTotal) => {
const percent = bytesUploaded / bytesTotal;
onProgress(percent, idx);
},
onSuccess: () => {
console.log('Successfully uploaded to:', uri);
onUploadSuccess(uri);
},
});
uploader.start();
},
);
};
And when a start uploading, I get this error - "Failed to upload because: Error: tus: cannot fetch file.uri as Blob, make sure the uri is correct and accessible. [object Object]"
Files lower than 100Mb uploading very well, but larger don't( This problem only for an Android, IOS is ok.