WebAPIの研究ノート(4)Asp.netはアクセサリーを取得するにはWebAPIのPostメソッドを呼び出します

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ファイルパス)。
                    } 
                } 
}

 

 

おすすめ

転載: www.cnblogs.com/61007257Steven/p/11880739.html