Recently discovered that using an FTP client, such as cyberduck, creates empty keys in S3.
When uploading, it must create the notion of a 'folder' by creating an empty key for the folder path.
So uploading an object with the key
with the S3 SDK, would create one object, with the key of the same name.
However, cyberduck appears to create the following keys
my/ my/file/ my/file/path/ my/file/path/my_file.png
All the 'folder' objects are 0k, so you might need to filter them our when trying to list files in an S3 bucket.