6

我有以下代码:

   public class UploadController : ApiController
{
    DBRepository _repository = new DBRepository();


    public Task<IEnumerable<FileDesc>> Post()
    {
        string folderName = "UploadedFiles";
        string PATH = HttpContext.Current.Server.MapPath("~/" + folderName);
        PATH = @"c:\www\qqq";
        string 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<FileDesc>>(t =>
            {

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


                return fileInfo;
            });

            return task;
        }
        else
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted"));
        }

    }
}

但我得到了错误:

错误 16“System.Net.Http.HttpContent”不包含“IsMimeMultipartContent”的定义,并且找不到接受“System.Net.Http.HttpContent”类型的第一个参数的扩展方法“IsMimeMultipartContent”(您是否缺少使用指令还是程序集引用?)

错误 17“System.Net.Http.HttpContent”不包含“ReadAsMultipartAsync”的定义,并且找不到接受“System.Net.Http.HttpContent”类型的第一个参数的扩展方法“ReadAsMultipartAsync”(您是否缺少使用指令还是程序集引用?)

错误 18“System.Net.Http.HttpRequestMessage”不包含“CreateResponse”的定义,并且找不到接受“System.Net.Http.HttpRequestMessage”类型的第一个参数的扩展方法“CreateResponse”(您是否缺少使用指令还是程序集引用?)

为什么?我添加到项目程序集 System.Net.Http.Formatting.dll 并有

using System.Net.Http.Formatting;

在页面http://msdn.microsoft.com/ru-ru/library/hh834190(v=vs.108).aspx仔细说,这个分​​机。方法在 System.Net.Http.Formatting 中(在 System.Net.Http.Formatting.dll 中) 我尝试在 4.0 和 4.5 下编译项目 - 没有效果。

PS。我有一个使用相同代码的解决方案,效果很好。我能做些什么?

4

1 回答 1

10

添加以下引用:

“使用 System.Net.Http;”

{}的

于 2015-06-03T20:39:54.763 回答