zoukankan      html  css  js  c++  java
  • asp.net webapi 多文件上传

    使用enctype="multipart/form-data"来进行操作

            /// <summary>
            /// 上传图片
            /// </summary>
            /// <returns></returns>
            [HttpPost]
            [Token]
            [Route("User/Upload")]
            public async Task<HttpResponseMessage> Upload()
            {
                APIUpload apiUpload = new APIUpload();
                var provider = await Request.Content.ReadAsMultipartAsync();
                List<string> uploadedImages = new List<string>(provider.Contents.Count);
                foreach (var item in provider.Contents)
                {
                    if (item.Headers.ContentDisposition.FileName != null)
                    {
                        var data = await item.ReadAsByteArrayAsync();
                        //将流存放到阿里oss
                        string imageUrl = apiUpload.SavePlayImage(data);
                        ZBBlackboard blackboard = new ZBBlackboard();
                        uploadedImages.Add(imageUrl);
                    }
                }
                List<ZBBlackboard> blackboards = new List<ZBBlackboard>(uploadedImages.Count);
                using (CMSDataContext context = DataContextFactory.CreateCMS())
                {
                    int maxId = 0;
                    if (context.ZBBlackboard.Count() != 0)
                    {
                        maxId = context.ZBBlackboard.Max(b => b.ID);
                    }
                    foreach (string imageUrl in uploadedImages)
                    {
                        ZBBlackboard blackboard = new ZBBlackboard();
                        blackboard.ID = ++maxId;
                        blackboard.ImgUrl = imageUrl;
                        blackboards.Add(blackboard);
                    }
                    context.ZBBlackboard.InsertAllOnSubmit<ZBBlackboard>(blackboards);
                    context.SubmitChanges();
                }
                string token = LoginStatusHelper.GetNewLoginStatus(this.Request);
                return this.Request.CreateResponse<APIResponseData>(APIResponseData.GetResponse(200, data: new { Images = blackboards }, token: token));
            }
    
  • 相关阅读:
    BUG处理流程图
    开发认为不是bug,你该如何处理?
    读书笔记:平台革命
    我的工具:开发自己的代码生成工具
    我的工具:Db SQL Monitor
    我的工具:Ping工具
    windows配置nginx实现负载均衡集群 -请求分流
    Oracle完全卸载详解
    Wireshark过滤语句中常用的操作符
    TCP 传输控制协议(转)
  • 原文地址:https://www.cnblogs.com/grj1046/p/4623949.html
Copyright © 2011-2022 走看看