次のコードがあります。
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で、この ext. メソッドは System.Net.Http.Formatting (System.Net.Http.Formatting.dll 内) にあります 4.0 および 4.5 でプロジェクトをコンパイルしようとしましたが、効果はありません。
PS。私は完全に機能する同じコードのソリューションを持っています。私に何ができる?