S3 itself doesn't have any default content type, though it is standard practice to set this header with a value appropriate for the file being uploaded. However this is difficult with a pre-generated signed PUT form, since you probably won't know in advance exactly what type of file will be uploaded (e.g. an image might be a jpeg, a gif, etc etc...)
If you need to properly support different file content types that you don't know in advance, you might be able to do this by dynamically requesting a new PUT from your server with the appropriate Content-Type header etc once you know what kind of file will be uploaded. That is, start off with a generic PUT form but obtain and use a brand new file-specific PUT form to do the actual upload to S3. But this would get pretty complicated...
Hope this helps,