Public Soundcloud track urls force a download upon browsing to them by utilizing a Content-Disposition header (I think.. ) which triggers a download for a known mime-type. Is there a way to proxy (create a passthrough for) these urls and strip this header from my request. I want to avoid serving the mp3 myself but I don't want to trigger a download.
Technically it is entirely possible that you could request the file from the server and connect that incoming data to an output stream response in your view, thereby allowing you to control the headers that your client's browser receives so that it does not ask them to save the file.
I'm going to recommend against this though for a couple of reasons.
- You mentioned you didn't want to serve the files yourself. Technically you are serving the file in this case, you just aren't storing it.
- This can be fairly expensive resource wise. Especially network bandwidth. Every mp3 file you share with your user is going to be a sort of double-ding for you. You are going to be both downloading and uploading that entire file, every time. You could cache the mp3 file once it's been requested, but then you aren't just serving the file, you're storing it as well.
- The file source likely does not want you to do this and could send you a cease and desist letter if they catch wind of it. If they provide a mechanism for you to share their media on your site, they usually have Terms and Conditions that you cannot circumvent that.