zoukankan      html  css  js  c++  java
  • .NET HttpGet 获取服务器文件下的图片信息 同步和异步方式处理

            /// <summary>
            /// 项目文件夹下路径  返回流类型数据,如:图片类型
            /// </summary>
            /// <returns></returns>
            public HttpResponseMessage GetImg()
            {  //  ~/ ImageFile / 001.png
                //项目文件夹下路径
                var imgPath = System.Web.Hosting.HostingEnvironment.MapPath("~/ImageFile/2.jpg");
               // 从图片中读取byte
                var imgByte = File.ReadAllBytes(imgPath);
               // 从图片中读取流
                var imgStream = new MemoryStream(File.ReadAllBytes(imgPath));
                var resp = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StreamContent(imgStream)
                    //或者
                  //  Content = new ByteArrayContent(imgByte)
                };
                resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
                return resp;
            }
     [HttpGet]
            public HttpResponseMessage SelectUploadFile()
            {
    
                Image img = Image.FromFile(@"C:ImageFile2.jpg");
    
                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
                result.Content = new ByteArrayContent(ms.ToArray());
                result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png"); //设置http响应上的Content-Type 为image/Png媒体类型
    
                return result;
    
            }

     异步操作获取文件图片

     [Route("Main")]
            [HttpGet]
            public async Task<HttpResponseMessage> GetMain(string Ordernumber, int seq = 1)
            {
                return await Task.FromResult<HttpResponseMessage>(GetFileImage("main", Ordertnumber, seq));
            }
    
     private HttpResponseMessage GetFileImage(string type, string Ordernumber, int seq)
            {
                string basePath = @"C:ImageFile";
                string filePath = basePath + type + "\_" + type + "_" + seq.ToString() + ".png";
    
                Image img = Image.FromFile(filePath);
                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
                result.Content = new ByteArrayContent(ms.ToArray());
                result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/Png");
                return result;
            }

     

  • 相关阅读:
    C# BackGroundWorker控件演示代码
    C#多线程池演示例程下载图片
    反流技术之IE插件技术研究第二部分
    C# 从剪贴板中读取HTML中的中文字符出现乱码问题的解决方案
    C#单线程演示程序带参数
    C# 中as和is的用法总结
    Delphi关于记录文件的操作
    用PowerDesigner创建Access数据库
    常用Delphi开发资料网址
    等待外部应用程序的执行结果
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/9853560.html
Copyright © 2011-2022 走看看