zoukankan      html  css  js  c++  java
  • WebAPI学习笔记(4)Asp.net调用WebAPI Post方法获取附件

    1、WebAPI方法:

    public HttpResponseMessage GetAttachmentList()
    {
                HttpResponseMessage result = null;
    
                try
                {string fileName1 = "Test001.txt";
                    string fileName2 = "Test002.pptx";
                    string fileName3 = "Test003.zip";
                    string TempFileSavePath = ConfigurationHelper.GetDownloadFileDefaultSavePath();
                    byte[] bytes1 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + fileName1));
                    byte[] bytes2 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + fileName2));
                    byte[] bytes3 = MethodHelper.FileToByte(HttpContext.Current.Server.MapPath(TempFileSavePath + fileName3));
    
                    List<AttachmentModel> attachmentList = new List<AttachmentModel>();
                    attachmentList.Add(new AttachmentModel(fileName1, bytes1));
                    attachmentList.Add(new AttachmentModel(fileName2, bytes2));
                    attachmentList.Add(new AttachmentModel(fileName3, bytes3));
    
                    result = MethodHelper.GetHttpResponseMessage(ConvertJson.List2Json<AttachmentModel>(attachmentList));
                }
                catch (Exception ex)
                {
    
                }
    
                return result;
    }
    public static HttpResponseMessage GetHttpResponseMessage(string content)
    {
          return new HttpResponseMessage { Content = new StringContent(content, Encoding.GetEncoding("UTF-8"), "application/json") };
    }

    2、调用方式:

    //测试附件
    string Username = "xxx";
    string Password = "xxx";
    using (HttpClient client = new HttpClient())
    {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Username}:{Password}")));
    
                    HttpContent httpContent = new StringContent("", Encoding.UTF8);
                    httpContent.Headers.Add("user-key", "xxx");
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
    Uri address = new Uri("https://localhost:44300/api/issues/GetAttachmentList");
    
                    var response = client.PostAsync(address, httpContent).Result.Content.ReadAsStringAsync().Result;//返回值
    
                    List<AttachmentModel> list = JsonConvert.DeserializeObject<List<AttachmentModel>>(response);
    
                    if (list != null)
                    {
                        for (int i = 0; i < list.Count; i++)
                        {
                            string filePath = HttpContext.Current.Server.MapPath("Temp/" + list[i].fileName);
                            ByteToFile(list[i].bytes, filePath);
                        }
                    }
    }
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 王后传说
    Java实现 蓝桥杯VIP 算法训练 王后传说
    Java实现 蓝桥杯VIP 算法训练 特殊的数字四十
    win7桌面图标小盾牌怎么去掉(2种方法)
    使用GO语言灵活批量ssh登录服务器执行操作
    2016 Web 开发资源工具大搜罗
    sqlite的源代码加密,以及其它一些文章
    SQLite 对中文路径的支持(用到了StringToWideChar和Utf8Encode在D7的System单元中自带)
    AMD规范与CMD规范的区别
    值类型和引用类型、可空类型、堆和栈、装箱和拆箱
  • 原文地址:https://www.cnblogs.com/61007257Steven/p/11880739.html
Copyright © 2011-2022 走看看