zoukankan      html  css  js  c++  java
  • C# webapi 上传下载图片

    客户端上传文件

    string url = url + "webUploadFile";
                Uri server = new Uri(url);
                HttpClient httpClient = new HttpClient();
    
                MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent();
    
                StreamContent streamConent = new StreamContent(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read));
    
                multipartFormDataContent.Add(streamConent, "jpg", fileName);
    
                HttpResponseMessage responseMessage = httpClient.PostAsync(server, multipartFormDataContent).Result;
                return responseMessage;

    服务端接收文件

    
    

    [Route("webUploadFile"), System.Web.Http.HttpPost]
    public HttpResponseMessage webUploadFile()

    {

      if (HttpContext.Current.Request.Files.AllKeys.Any())
                    {var httpPostedFiles = HttpContext.Current.Request.Files;
                        if (httpPostedFiles != null && httpPostedFiles.Count > 0)
                        {
                            // 获取文件
                            HttpPostedFile httpPostedFile = httpPostedFiles[0];
                            string fileExtension = ".jpg";// Path.GetExtension(httpPostedFile.FileName);// 文件扩展名
                            string fileId = "11";
                            string filePath = uploadPath + fileId + fileExtension;// 上传路径
    
    
                            httpPostedFile.SaveAs(filePath);
    
                            
                            string jsonres = "{"code":"200","message":"文件上传成功", "data":{ "fileUrl":"" + downloadurl+ "webDownloadFile?fileId=" + fileId + ""}}";
    
                            return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonres, System.Text.Encoding.UTF8, "application/json")};
                        }
                    }
    }

    服务端下载文件

    [Route("webDownloadFile"), System.Web.Http.HttpGet]   
            public HttpResponseMessage webDownloadFile()
            {
                if (HttpContext.Current.Request.Params.Count > 0 && HttpContext.Current.Request["fileId"] != null)
                {
                    string fileId = HttpContext.Current.Request["fileId"];
                    string fileName = fileId + ".jpg";
    
                    string path = uploadPath + fileName;
                    if (!File.Exists(path))
                    {
                        return new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(Common.ReturnMessage("404", "文件不存在"), System.Text.Encoding.UTF8, "application/json") };
                    }
    
                    HttpResponseMessage result = null;
    
                    FileStream fs = new FileStream(path, FileMode.Open);
    
                    result = new HttpResponseMessage(HttpStatusCode.OK);
                    result.Content = new StreamContent(fs);
                    result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg");
    
                    return result;
                }
    
                return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(Common.ReturnMessage("400", "文件下载失败"), System.Text.Encoding.UTF8, "application/json") };
            }
  • 相关阅读:
    通过docker-composer启动容器nginx,并完成spring.boot的web站点端口转发
    手写redis的docker文件,通过docker-compose配置redis
    基于Docker Compose搭建mysql主从复制(1主2从)
    ubuntu 14.04 挂载window共享目录
    asp.net mvc,基于aop实现的接口访问统计、接口缓存等
    自定义属性Attribute的运用
    表值参数的使用
    js的title提示
    Android之ViewPager中包含ViewFlipper时实现双滑动嵌套解决父控件干扰问题
    Android之ViewFlipper实现手动+自动切换图片(附加动画效果)
  • 原文地址:https://www.cnblogs.com/jhlong/p/10784383.html
Copyright © 2011-2022 走看看