My use case is similar to Tim’s:
I have a few lerge files that I need to download from my server and save to the 
file system (offline map and points of interest files) - total size of the 
files is 500Mb. Each file is between 100Mb and 300Mb. I can't split those files 
into smaller files because they are sqlite database files and splitting them 
would be a headache.
When I download them using angular/ionic http client the file is loaded into 
memory before I can store it in the file system using the file-plugin.
In some cases, specifically on iOS, this causes a "white screen of death".
Somewhat related to this issue (see my comment at the end)
https://github.com/apache/cordova-plugin-file/issues/364
When all I want to do is download a file and store it somewhere in the 
application's folders there's a problem in iOS and sometimes it fails when not 
using file-transfer-plugin.
I think the problem is related to how much memory is used by the webview, not 
sure though…
In any case, I don’t think there’s a proper solution without the mentioned 
plugin and I am too in favour of either reviving it or fix (not sure this is 
possible, maybe using chunking as mentioned in the linked issue) the http 
client.
I can help testing this out if needed.

On 2020/07/23 15:50:17, Norman Breau <n...@normanbreau.com> wrote: 
> One of my apps logs GPS and acceleration data, and the user could be creating 
> these log sessions for hours. This can easily result in a JSON document size 
> of > 50MB. I don't receive memory issues uploading this document, but I have 
> a test log that I use to download to test large uploads. This document can be 
> found at https://staging.totalpave.com/uploads/datalog.test.json 
> (https://link.getmailspring.com/link/be0b03d8-c5e5-4149-9a60-51490cf7e...@getmailspring.com/0?redirect=https%3A%2F%2Fstaging.totalpave.com%2Fuploads%2Fdatalog.test.json&recipient=ZGV2QGNvcmRvdmEuYXBhY2hlLm9yZw%3D%3D)>
>  
> 
> Particularly downloading a document of this size is problematic, because 
> using cordova-plugin-file to save this file fails for memory issues, at least 
> on Android. It's been awhile since I dug into this, but I believe it was 
> because cordova-android converts this data into a base64 encoded string, 
> which expands the data size by roughly 40%.> 
> But with that being said, isn't the goal of Cordova is bring web standards to 
> the webview?> 
> "Applications execute within wrappers targeted to each platform, and rely on 
> standards-compliant API bindings to access each device's capabilities such as 
> sensors, data, network status, etc."> 
> Perhaps this is still more suitable as a third-party plugin?> 
> Sent from Mailspring 
> (https://link.getmailspring.com/link/be0b03d8-c5e5-4149-9a60-51490cf7e...@getmailspring.com/1?redirect=https%3A%2F%2Fgetmailspring.com%2F&recipient=ZGV2QGNvcmRvdmEuYXBhY2hlLm9yZw%3D%3D),
>  the best free email app for work> 
> On Jul 23 2020, at 6:23 am, Tim Brust <ti...@sinnerschrader.com.INVALID> 
> wrote:> 
> > Hi there,> 
> >> 
> > I'd like to discuss the revival of the cordova-plugin-file-transfer 
> > plugin.> 
> > With the decision from 2017 it was sunsetted and the XHR/fetch alternative> 
> > was proposed. [1], [2]> 
> >> 
> > However, neither the plugin was deprecated on npm nor the GitHub 
> > repository> 
> > archived.> 
> > With the release of cordova-ios@6 it is no longer usable. [3] No surprise> 
> > given the fact no work as has been done on the plugin in the recent years.> 
> >> 
> > However, it seems that> 
> > 1. A lot of people are still relying on the plugin - the count of unique> 
> > users that commented, opened a duplicate issue or reacted to comments is> 
> > (IMHO) very high compared to other issues (and I read at least 90% of our> 
> > newly opened issues). [3]> 
> > 2. There are reasons to *not *use XHR/fetch. Personally, I've experienced> 
> > out of memory issues which resulted in white screens and page reloads on> 
> > iOS with big files. If it helps, I can try to provide an example app that> 
> > showcases the issues with XHR/fetch.> 
> >> 
> > We've created a fork at work and applied a lot of the recent fixes we did> 
> > for other plugins, too, such as removing deprecated platforms, migrating 
> > to> 
> > @cordova/eslint, cleaning up the package.json files and npmignore list.> 
> > I'm happy to contribute those commits back to the original plugin, as the> 
> > work is done anyways.> 
> >> 
> > The same discussion could be applied to other plugins, too. There is a> 
> > general tracking issue: [4], take a note at especially this comment [5]> 
> > I'll link this mailing thread to the issue [4], too, and ask affected 
> > users> 
> > to give some more input why they can't migrate to XHR/fetch, too.> 
> >> 
> > Looking forward to hearing from you and your opinions.> 
> > Best,> 
> > Tim> 
> >> 
> > Links:> 
> > [1] -> 
> > https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html> 
> > [2] - https://issues.apache.org/jira/browse/CB-13052> 
> > [3] - https://github.com/apache/cordova-plugin-file-transfer/issues/258> 
> > [4] - https://github.com/apache/cordova/issues/185> 
> > [5] - https://github.com/apache/cordova/issues/185#issuecomment-569979586> 
> > --> 
> > Tim Brust, Product Engineer> 
> >> 
> > tim.br...@sinnerschrader.com> 
> > SinnerSchrader Deutschland GmbH | SinnerSchrader Group> 
> > Völckersstraße 38, 22765 Hamburg, Germany> 
> >> 
> > Amtsgericht Hamburg HRB-Nr. 63663> 
> > Geschäftsführer: Matthias Schrader (Sprecher),> 
> > Jürgen Alker, Dr. Axel Averdung, Holger Blank,> 
> > Thomas Dyckhoff, Dr. Lars Finke, Martin Gassner, Peggy Hutchinson> 
> >> 
> > Büros: Berlin, Hamburg, Frankfurt a. M., München, Prag> 
> > https://www.sinnerschrader.com | NEXT AGENCY> 

Reply via email to