.NET Framework4.5のSystem.NET.Httpを使ったMultiPart形式の画像データのPostのプログラムを作成しているのですが、Errorが修正できず、困っています。どなたかご教授お願いします。以下に詳細、例外とソースを張っておきます。
詳細:
JPG画像データをMemoryStreamに保存し、MultipartFormDataContent()にAddメソッドでStreamを追加しPOSTを行っていますが"System.Net.Http.HttpRequestException"が発生します。
JPG画像データをByteコードに変換してPOSTを行うと成功します。
MemoryStreamに文字列を保存し,POSTを行うと成功します。
使用しているJPG画像のサイズは100KBほどです。
例外:System.Net.Http.HttpRequestException
内容:Error while copying content to a stream
lang
1public async Task PostAsync(string url,string newFilePath) 2 { 3 using (var httpClient = new HttpClient()) 4 { 5 using (var postData = new MultipartFormDataContent()) 6 { 7 Image image = Image.FromFile(newFilePath); 8 using (MemoryStream ms = new MemoryStream()) 9 { 10 image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 11 ms.Position = 0; 12 13 postData.Add(new StreamContent(ms)); 14 } 15 16 ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => 17 { 18 return true; 19 }; 20 var response = await httpClient.PostAsync(url, postData).Result.Content.ReadAsStringAsync(); 21 22 richTextBox1.AppendText(response.ToString()); 23 } 24 25 } 26 } 27 28 private async void button1_Click(object sender, EventArgs e) 29 { 30 try 31 { 32 await PostAsync("http://127.0.0.1:8080/","filename"); 33 } 34 catch (AggregateException ex) 35 { 36 foreach (var inner in ex.InnerExceptions) 37 { 38 richTextBox1.AppendText(inner.Message); 39 richTextBox1.AppendText(string.Format("Type : {0}", inner.GetType())); 40 } 41 } 42 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/09 09:14
2014/10/09 09:42
2014/10/09 09:49
2014/10/09 10:32
2014/10/10 00:18