小编use*_*202的帖子

从WEB API Controller返回异步方法中的Void

我从这个博客获得的ASP.NET MVC 4 WEB API Controller中有这个异步方法:http: //www.strathweb.com/2012/04/html5-drag-and-drop-asynchronous-multi-file-upload -with-ASP净的WebAPI /

  public async Task<IList<RecivedFile>> Post()
    {
        List<RecivedFile> result = new List<RecivedFile>();
        if (Request.Content.IsMimeMultipartContent())
        {
            try
            {
                MultipartFormDataStreamProvider stream = new MultipartFormDataStreamProvider(HostingEnvironment.MapPath("~/USER-UPLOADS"));

                IEnumerable<HttpContent> bodyparts = await Request.Content.ReadAsMultipartAsync(stream);
                IDictionary<string, string> bodyPartFiles = stream.BodyPartFileNames;
                IList<string> newFiles = new List<string>();

                foreach (var item in bodyPartFiles)
                {
                    var newName = string.Empty;
                    var file = new FileInfo(item.Value);

                    if (item.Key.Contains("\""))
                        newName = Path.Combine(file.Directory.ToString(), item.Key.Substring(1, item.Key.Length - 2));
                    else
                        newName = Path.Combine(file.Directory.ToString(), item.Key);

                    File.Move(file.FullName, newName);
                    newFiles.Add(newName);
                }

                var …
Run Code Online (Sandbox Code Playgroud)

c# async-await async-ctp asp.net-mvc-4 asp.net-web-api

8
推荐指数
1
解决办法
7725
查看次数