2017-02-26 7 views
0

Ich mag würde Datei auf einem Web-Service mit anderen parametrs
Wie dies senden:Beitrag Datei mit C#

param1=value1&param2=value2&param3=IMAGE_FILE 

wie kann ich dies in C#
Ich versuche dies:

&param3=Convert.ToBase64String(File.ReadAllBytes(txtlogo.Text)) 

, aber das ist nicht funktioniert ..
so jede Lösung?

Update:

Auch versuche ich von HttpContent wie diese zu verwenden (ich weiß nicht, es korrekt ist oder nicht)

HttpContent stringContent = new StringContent("param1=param1&param2=param2"); 
      FileStream file = new FileStream(txtlogo.Text, FileMode.Open); 
      HttpContent fileStreamContent = new StreamContent(file); 
      using (var client = new HttpClient()) 
      using (var formData = new MultipartFormDataContent()) 
      { 
       formData.Add(stringContent, "param1", "param1"); 
       formData.Add(fileStreamContent, "file1", "file1"); 
       var response = client.PostAsync("url", formData).Result; 
       if (!response.IsSuccessStatusCode) 
       { 
        string ss = "s"; 
       } 
       string my = response.Content.ReadAsStringAsync().Result; 
      } 

und Server keine Daten mit POST erhalten. ..

+0

Wenn Sie sagen, dass es nicht funktioniert? Hast du versucht den 'param3' auf dem Server zu lesen und bekommst du die Imagedatei nicht? – Christos

+0

@Christos ja aber das funktioniert nicht, ich weiß nicht, warum – MrUnknow

+1

insbesondere diese Antwort Frage zu duplizieren: http://stackoverflow.com/a/28242511/413399 –

Antwort

0

Versuch mit get-Methode (einfach)

try 
{ 
    using (var wc = new WebClient()) 
    { 
     string url = "https://url.com/index.php?x=1222&y=filebase64-sdfsdfsdfsdfsdfsdfsdfsdfsd"; 
     // Get account from accessToken 
     response = wc.DownloadString(url); 
    } 
} 
catch (Exception ee) 
{ 
    Console.WriteLine("Coś nie tak z pobieraniem kont"); 
} 
+0

Und Tutorial http://www.terminally-incoherent.com/blog/2008/05/05/send-a-https-post-request-with-c/ –