What is the better way to upload a file for a REST client?

From the WCF Web API Documentation

[WebInvoke(UriTemplate = "thumbnail", Method = "POST")]
public HttpResponseMessage UploadFile(HttpRequestMessage request)
{

From multiple forum posts:
WCF REST File upload with additional parameters

[WebGet(UriTemplate="", Method ="POST"]
public string UploadFile(Stream fileContents)

I understand, that the first method allows to directly post a file from a normal HTML form. The 2nd approach seems more common on all forum posts I find.

What would you recommend and why? The REST api should be accessible from all kind of languages and platforms.

For the HttpRequestMessage approach, how would I do an upload a file preferable with the WCF HttpClient? With the FormUrlEncodedMediaTypeFormatter)

Edit
Report