I have a web application running, laravel backend, where users upload Excel spreadsheets which then get stored, base64 encoded in a database. Mostly this works fine and the file is stored, looking like:
data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAA
However recently a user has had problems, her files get uploaded and stored as:
data:application/octet-stream;base64,UEsDBBQACAgIAGVKWk0AAAAAAAAAAAAAA
If I download her files, they appear as perfectly OK Excel sheets, and if I upload them again, even without opening them, they upload as XML spreadsheets.
Where do I start looking for the problem? At what stage does this encoding get determined? Is the the uploading OS, the uploading browser, or might Laravel be doing something behind the scenes? I am not a Laravel expert.