Is there an existing issue for this?
Did you read the "Reporting a bug" section on Contributing file?
Current Behavior
I am unable to save 2GB+ files/streams using FileSaver on Android. The attempt returns an error message of "Stream too long" even when there is enough space to write the file. It also leaves behind a 0 byte file in the target directory. I think this would be possible if the Android implementation wrote the contents of the stream in chunks rather than attempting to load it into an array in memory as it currently does.
Expected Behavior
I would expect FileSaver to be able to handle a file that large when there is sufficient space on the Android instance (such as in the Windows Subsystem for Android.) This would also eliminate the 0 byte file.
Steps To Reproduce
- Open the solution from the reproduction directory. Make sure is target an Android instance that has space to write 4 GB+ such as the Windows Subsystem for Android and run the project.
- Click the Button and select a target directory such as Download.
- Note that the call to FileSaver fails with the message "Stream too long." Check the contents of the directory you selected and notice the 0 byte file left behind.
Link to public reproduction project repository
https://github.com/DavidJSnyder/NETMAUIBigFileSaveExample
Environment
- .NET MAUI CommunityToolkit: 7.0.1
- OS: Windows 11 22H2 Build 22621.2861
- .NET MAUI: 8.0.3/8.0.100
- Windows Subsystem for Android: 2310.4000.2.0
Anything else?
I previously opened a discussion for this issue at #1554 and was asked to open a bug report.
Is there an existing issue for this?
Did you read the "Reporting a bug" section on Contributing file?
Current Behavior
I am unable to save 2GB+ files/streams using FileSaver on Android. The attempt returns an error message of "Stream too long" even when there is enough space to write the file. It also leaves behind a 0 byte file in the target directory. I think this would be possible if the Android implementation wrote the contents of the stream in chunks rather than attempting to load it into an array in memory as it currently does.
Expected Behavior
I would expect FileSaver to be able to handle a file that large when there is sufficient space on the Android instance (such as in the Windows Subsystem for Android.) This would also eliminate the 0 byte file.
Steps To Reproduce
Link to public reproduction project repository
https://github.com/DavidJSnyder/NETMAUIBigFileSaveExample
Environment
Anything else?
I previously opened a discussion for this issue at #1554 and was asked to open a bug report.