Async requête POST en C# .NET

Je suis en train de télécharger des données sur le réseau à l'aide de HttpClient /HttpContent
Cependant, je n'arrive pas à trouver une bonne façon d'envoyer un fichier de cette façon.

Voici mon code actuel:

    private async Task<APIResponse> MakePostRequest(string RequestUrl, string Content)
    {
        HttpClient  httpClient = new HttpClient();
        HttpContent httpContent = new StringContent(Content);
        APIResponse serverReply = new APIResponse();

        httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        try {
            Console.WriteLine("Sending Request: " + RequestUrl + Content);
            HttpResponseMessage response = await httpClient.PostAsync(RequestUrl, httpContent).ConfigureAwait(false);
        }
        catch (HttpRequestException hre)
        {
            Console.WriteLine("hre.Message");
        }
        return (serverReply);
    }

Contenu est une chaîne de caractères de la forme: paramname=valeur&param2name=valeur&param3name=valeur..
Le Point est que je dois envoyer un fichier (photo) au cours de cette demande.

Il semble bien fonctionner pour chacun des paramètres, mais le fichier lui-même (j'ai envoyer deux authentification des clés dans la requête post, et ils sont reconnus)

Je procède de cette façon pour récupérer l'image comme une chaîne de caractères qui peut être une des principales raisons de panne ? :/

    byte[] PictureData = File.ReadAllBytes(good_path);
    string encoded = Convert.ToBase64String(PictureData);

Je fais quelque chose de mal ? Est-il une autre et meilleure façon de créer une bonne requête POST (il doit être asynchrone et le soutien de téléchargement de fichier)

Grâce.

OriginalL'auteur MagiKruiser | 2013-03-29