zoukankan      html  css  js  c++  java
  • ASP.NET Web API 上传文件

    HTML表单:

    <form id="form1" method="post" 
        enctype="multipart/form-data" action="http://localhost:2317/api/uploadFile">
        <div>
            <label for="Name">Name</label>
        </div>
        <div>
            <input name="Name" type="text" />
        </div>
        <div>
            <label for="Price">Price</label>
        </div>
        <div>
            <input name="Price" type="text" />
        </div>
         <div>
            <input name="ImageFile" type="file"  id="me"/>
        </div>
        <div>
            <input type="submit" name="name" value="submit" />
        </div>
    </form>

    API Controller:

         [Route("api/uploadFile")]
            public HttpResponseMessage PostFile()
            {
                HttpResponseMessage result = null;
                var httpRequest = HttpContext.Current.Request;
                if (httpRequest.Files.Count > 0)
                {
                    var docfiles = new List<string>();
                    foreach (string file in httpRequest.Files)
                    {
                        var postedFile = httpRequest.Files[file];
                        var filePath = HttpContext.Current.Server.MapPath("~/" + postedFile.FileName);
                        postedFile.SaveAs(filePath);
    
                        docfiles.Add(filePath);
                    }
                    result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
                }
                else
                {
                    result = Request.CreateResponse(HttpStatusCode.BadRequest);
                }
                return result;
            }

    HttpClient客户端上传:

    //--------上传------------
                HttpClient client = new HttpClient();
                #region
                MultipartFormDataContent form = new MultipartFormDataContent();
                StreamContent fileContent = new StreamContent(File.OpenRead(@"D:uni-all-resourcesCloudShopSourceDevelopmentUni2uni.iShopUni2uni.iShop.WebApiUploadAudioios_2.pcm"));
                fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
                fileContent.Headers.ContentDisposition.FileName = "ios_2.pcm";
                form.Add(fileContent);
                #endregion
    
                HttpResponseMessage res = client.PostAsync("http://app.uni2uni.com/api/Audio/UploadAudioResponseMessage", form).Result;
                var uploadModel = res.Content.ReadAsStringAsync().Result;
  • 相关阅读:
    FastApi 进阶
    flask为多个接口添加同一个拦截器的方法
    记一次flask上传文件返回200前端却504的问题
    Python在项目外更改项目内引用
    go mod 拉取私有仓库
    go跳出多层循环的几种方式
    Zap简单使用
    记一次Goroutine与wg导致的问题
    go判断字符串是否是IP地址
    SpringBoot的启动流程
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/3642809.html
Copyright © 2011-2022 走看看