If you configure the blockchain parameters appropriately, you can store up to 64 MB of data in a single transaction or stream item. Larger pieces of data will need to be partitioned at the application level to fit within this limit.
All data on the blockchain is stored in a proprietary format inside the blocks subdirectory of your blockchain directory.
If you're happy combining files at the application level into a single stream item, there's no limit to how many files you can combine, so long as the total data size is within 64 MB.