zoukankan      html  css  js  c++  java
  • webclient 和httpclient 应用

    //webclient应用
    MyImageServerEntities db = new MyImageServerEntities(); public ActionResult Index() { return View(); } public ActionResult FileUpload() { HttpPostedFileBase file = Request.Files["fileUp"]; string fileName = Path.GetFileName(file.FileName); string fileExt = Path.GetExtension(fileName); if (fileExt == ".jpg") { var list=db.ImageServerInfo.Where<ImageServerInfo>(u => u.FlgUsable == true).ToList();//找出可用的图片服务器. int count = list.Count(); Random random = new Random(); int r = random.Next(); int i = r % count; string serverUrl = list[i].ServerUrl; int serverId = list[i].ServerId; string url = "http://"+serverUrl+"/FileUp.ashx?serverId="+serverId+"&fileExt="+fileExt; WebClient webClient =new WebClient(); webClient.UploadData(url, StreamToBytes(file.InputStream)); } return Content("ok"); } public ActionResult ShowImage() { var list= db.ImageServerInfo.Where<ImageServerInfo>(c=>c.FlgUsable==true).ToList(); ViewData["imageServerList"] = list; return View(); } private byte[] StreamToBytes(Stream stream) { byte[]buffer=new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); stream.Seek(0, SeekOrigin.Begin); return buffer; }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    context.Response.ContentType = "text/plain";
     int serverId = int.Parse(context.Request["serverId"]);
     string fileExt = context.Request["fileExt"];
     string dir = "/ImagePath/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
     Directory.CreateDirectory(Path.GetDirectoryName(context.Request.MapPath(dir)));
     string newfileName = Guid.NewGuid().ToString();
     string fullDir = dir + newfileName + fileExt;
     using (FileStream fileStream = File.Open(context.Request.MapPath(fullDir), FileMode.OpenOrCreate))
     {
         context.Request.InputStream.CopyTo(fileStream);
         MyImageServerEntities db = new MyImageServerEntities();
         ImageInfo imageInfo = new ImageInfo();
         imageInfo.ImageName = fullDir;
         imageInfo.ImageServerId = serverId;
         db.ImageInfo.Add(imageInfo);
         db.SaveChanges();
     
     }

      

     
    复制代码

    //httpclient 应用

    复制代码
    创建并初始化对象:
        client.BaseAddress = new Uri(url);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    
    读集合:
        HttpResponseMessage response = client.GetAsync(url).Result;
         var userList = response.Content.ReadAsAsync<IEnumerable<数据类型>>().Result;
    
    根据编号读对象
        HttpResponseMessage response1 = client.GetAsync(url).Result;
        var userInfo = response1.Content.ReadAsAsync<数据类型>().Result;
    
    增加:
        HttpResponseMessage response = client.PostAsJsonAsync("api/userinfo", userInfo).Result;
        使用response.IsSuccessStatusCode判断是否成功
        使用response.Content.ToString()获取返回值
    
    修改:
         HttpResponseMessage response = client.PutAsJsonAsync("api/userinfo/"+userInfo.UserId, userInfo).Result;
        使用response.IsSuccessStatusCode判断是否成功
        使用response.Content.ToString()获取返回值
    
    删除:
        HttpResponseMessage response = client.DeleteAsync("api/userinfo/" + uid).Result;
        使用response.IsSuccessStatusCode判断是否成功
        使用response.Content.ToString()获取返回值
  • 相关阅读:
    for循环练习-----ATM取款
    面向对象基础项目----图书管理系统(数组)
    Java基础学习(二)-- 二维数组、String、StringBuffer以及类和对象之详解
    Java基础学习(一) -- Java环境搭建、数据类型、分支循环等控制结构、简单一维数组详解
    js 解决由于&#65279(bom文件格式)产生的空白行
    自适应网站设计对百度友好的关键:添加applicable-device标签(转)
    浏览器内核控制标签--meta
    HTML5的元素与结构标签
    <img>标签的补充
    HTML <head> 头部中的各类标签
  • 原文地址:https://www.cnblogs.com/shiyh/p/9273619.html
Copyright © 2011-2022 走看看