title: Guidelines for Cross Platform File Upload/Download using REST Service
body: <p>I'm creating a REST service using C#/MVC/WebAPI that will allow access to a file server. The two main operations will be uploading a file or downloading a file. I need to expose the service to mobile devices (Android and Apple) and web browsers on Window and Apple.</p>
  
  <p>I can't seem to find any good guidelines or best practices on how functionality like this should be designed. I've only built REST services before that have used JSON for data being passed in or being returned. I see examples for C# but then they're consumed by C# client code. I feel like with files being involved platform specifics start being important, but I can't find any information that backs that up. Maybe I'm overthinking it.</p>
  
  <p>What I'm looking for is advice or links to information that outline standards for uploading and downloading files over rest. For example, as long as you accept a file in the POST call for upload, is that enough (leave it up to the client to figure out how to post that file)? How much metadata should I upload with the file, if any? Is the best way to download a file via a GET call to have the call return a url to the file? Are there any other "gotchas" I should be aware of?</p>