小编I.p*_*ern的帖子

我怎么知道为什么Task.Isfaulted是真的?

我正在关注这个博客.我想创建接受文件的post方法.

[HttpPost]
        public Task<IEnumerable<FileDescDto>> Post()
        {
            var folderName = "Uploads";
            var PATH = HttpContext.Current.Server.MapPath("~/" + folderName);
            var rootUrl = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, String.Empty);
            if (Request.Content.IsMimeMultipartContent())
            {
                var streamProvider = new CustomMultipartFormDataStreamProvider(PATH);
                var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<IEnumerable<FileDescDto>>(t =>
                {

                    if (t.IsFaulted || t.IsCanceled)
                    {
                       throw new HttpResponseException(HttpStatusCode.InternalServerError);
                    }

                    var fileInfo = streamProvider.FileData.Select(i => {
                        var info = new FileInfo(i.LocalFileName);
                        return new FileDescDto(info.Name, rootUrl + "/" + folderName + "/" + info.Name, info.Length / 1024);
                    });
                    return fileInfo;
                });

                return task;
            }

            throw …
Run Code Online (Sandbox Code Playgroud)

c# api asp.net-mvc post

2
推荐指数
1
解决办法
174
查看次数

标签 统计

api ×1

asp.net-mvc ×1

c# ×1

post ×1