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));
            }
    
  • 相关阅读:
    hbase 简介
    Hadoop本地库介绍
    MapReduce:详解Shuffle过程
    eucalyptus,openstack
    openstack installing...
    今年2011
    wget代理设置(转载)
    openstack running
    python 升级到2.6(转载)
    高德地图Windowphone API学习地图定位与地图模式的切换
  • 原文地址:https://www.cnblogs.com/grj1046/p/4623949.html
Copyright © 2011-2022 走看看