• 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;
  • 相关阅读:
    HDOJ2066 一个人的旅行 floyd
    手动添加数据源时DataGridViewComboBoxCell值出问题解决方法
    可伸缩的Form窗体!
    SharpMap项目Web控件学习!
    MVC和MVP的初步理解
    ArcEngine编辑功能(五)
    胡言乱语:实体具有继承关系的空间数据库设计方法?
    WinForm单例窗体的实现
    4. 模板模式和建造者模式
    Oracle笔记(0):在Win2008系统上安装Oracle11g实践
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/3642809.html
Copyright © 2020-2023  润新知