I haven't tried it but did some searching. Maybe you can try this:
$file_handle = fopen('text.csv', 'r');
Storage::disk('s3')
->getDriver()
->put( 'text.csv',
$file_handle,
[
'visibility' => 'public',
'ContentType' => 'text/csv'
]
);
Maybe not that exactly, but it looks possible.
http://georgebohnisch.com/s3-set-contenttype-request-headers-laravel-filesystem-cloud-storage/