1、WebAPIの方法:
公共HttpResponseMessage GetAttachmentList() { HttpResponseMessage結果 = NULL ; 試す { 文字列 FILENAME1 = " Test001.txt " 。 文字列 FILENAME2 = " Test002.pptx " 。 文字列 filename3を= " Test003.zip " 。 ストリング TempFileSavePath = ConfigurationHelper.GetDownloadFileDefaultSavePath()。 バイト[] bytes1 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + FILENAME1))。 バイト [] bytes2 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + FILENAME2))。 バイト [] bytes3 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + filename3を使用))。 一覧 <AttachmentModel> attachmentList = 新しいリスト<AttachmentModel> (); attachmentList.Add(新しいAttachmentModel(FILENAME1、bytes1)); attachmentList.Add(新しいAttachmentModel(FILENAME2、bytes2)); attachmentList.Add(新 AttachmentModel(filename3を、bytes3)); 結果 = MethodHelper.GetHttpResponseMessage(ConvertJson.List2Json <AttachmentModel> (attachmentList))。 } キャッチ(例外例) { } 戻り結果。 }
パブリック 静的 HttpResponseMessage GetHttpResponseMessage(文字列コンテンツ) { 戻り 新しい HttpResponseMessage {コンテンツ= 新しい StringContent(コンテンツ、(Encoding.GetEncoding " UTF-8 ")、" アプリケーション/ JSONを" )}。 }
2、メソッドを呼び出します。
// 测试附件 文字列ユーザ名= " XXX " 。 文字列のパスワード= 「XXX 」。 使用して(HttpClientをクライアント= 新しいHttpClientを()) { client.DefaultRequestHeaders.Authorization = 新しい(AuthenticationHeaderValue " 基本の"(Encoding.UTF8.GetBytes($ Convert.ToBase64String、" {ユーザー名}:{パスワード} " ))); HttpContent httpContent = 新しい StringContent("" 、Encoding.UTF8)。 httpContent.Headers.Add(" ユーザー・キー"、" XXX " ); httpContent.Headers.ContentType = 新 MediaTypeHeaderValue(" アプリケーション/ JSON " ); ウリアドレス=新しいウリ( " https://ではlocalhost :44300 / API /問題/ GetAttachmentList"); VaRの応答= client.PostAsync(アドレス、httpContent).Result.Content.ReadAsStringAsync()結果。// 返回值 一覧 <AttachmentModel>リスト= JsonConvert.DeserializeObject <リスト<AttachmentModel >> (応答); もしリスト(!) { ため(INT iが= 0 ; I <list.Count; I ++ ) { 文字列 filePathに= HttpContext.Current.Server.MapPath(" 温度/ " + [I]は.filenameリスト)。 ByteToFile(リスト[i]が.bytesファイルパス)。 } } }