.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:\ImageFile\2.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; }
相关文章
相关标签/搜索