I've changed this to use `FileUtils.compare_stream`. It ends up being a half way point to getting more sane handling of the file data. Instead of it having to have *2* copies of the file in memory, it now just needs 1 (the submitted contents) and whatever `compare_stream` uses (a block of some size) for the comparison.