前提・実現したいこと
こんにちは。
Visual Studio 2019 CommunityをWindows10で使って開発しています。
C#でChatworkに画像ファイルを送信したいです。
発生している問題・エラーメッセージ
StatusCode 200でOKですが、画像をChatworkに登録できません。
{StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Connection: keep-alive x-amzn-RequestId: *****-****-****-******** x-amz-apigw-id: ***** X-Amzn-Trace-Id: Root=1-****-*****;Sampled=1 X-Cache: Miss from cloudfront X-Amz-Cf-Id: ******== Date: Wed, 29 May 2019 08:02:39 GMT Via: 1.1 *****.cloudfront.net (CloudFront) Content-Length: 22 Content-Type: application/json }}
試したこと
たくさんのことを試しました。
(1)TeratailのChatworkに投稿するを参考に投稿。添付はなし。成功。
https://teratail.com/questions/60965
(2)TeratailのChatworkにExcelファイルを投稿するを参考に投稿。失敗。投稿を表示できない。
https://teratail.com/questions/178860
(3)Webで見てChatworkにTextファイルを投稿するを参考に投稿。成功。
https://qiita.com/tsuttie/items/4a015f0a9ea6daf1ab8c
(4)HttpClientを使ってコーディング。失敗。投稿を表示できない。<-いまここ。
該当のソースコード
C#
1 public void SendFileByHttpClient2Chatwork(string roomId, string apiKey, string filePath) 2 { 3 // 表示する添付ファイル名 4 string filename = Path.GetFileName(filePath); 5 6 // 拡張子に対応したコンテンツタイプ 7 string contenttype = "image/jpeg"; 8 9 var url = string.Format("https://api.chatwork.com/v2/rooms/{0}/files", roomId); 10 11 using (var httpClient = new HttpClient()) 12 using (var multipart = new MultipartFormDataContent()) 13 { 14 // トークン設定 15 httpClient.DefaultRequestHeaders.Add("X-ChatWorkToken", apiKey); 16 httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(contenttype)); 17 18 var fileinfo = new FileInfo(filePath); 19 20 var fileContent = new StreamContent(File.OpenRead(fileinfo.FullName)); 21 fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") 22 { 23 Name = filename, 24 FileName = fileinfo.Name 25 }; 26 multipart.Add(fileContent); 27 28 var response = httpClient.PostAsync(url, multipart).Result; 29 } 30 }
SendFileByHttpClient2Chatwork(roomid, apikey, @"D:\b9eaf89be.jpg");
のように呼び出しています。
ご助言いただければ幸いです。
足りない情報があれば補足いたしますので、ご指摘ください。
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio Community 2019
Version 16.1.1
VisualStudio.16.Release/16.1.1+28922.388
Microsoft .NET Framework
Version 4.7.03190
あなたの回答
tips
プレビュー