2013-07-09 7 views
5

を発見していない私は、次のコードを持っている:はコンパイルできません - Request.Content.IsMimeMultipartContent()

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 『と拡張子なしの方法 『」の定義 が含まれていない』IsMimeMultipartContent』タイプ の最初の引数を受け入れる 『System.Net.Http.HttpContent』が見つかりすることができた(あなたが使用して ディレクティブまたはアセンブリが欠落しています再フェレンス?)

エラー17「System.Net.Http.HttpContentは」「ReadAsMultipartAsync」とタイプ 「System.Net.Httpの最初の引数を受け入れていない拡張メソッド 「ReadAsMultipartAsync」の定義 が含まれていません。 HttpContent System.Net.Http.HttpRequestMessage CreateResponse「と拡張子なしの方法 『『のための の定義が含まれていません』」(あなたが使用して ディレクティブまたはアセンブリ参照が不足している?)18は

エラーが見つかりませんでした』 CreateResponse '型の最初の引数を受け入れる ' System.Net.Http.HttpRequestMessage 'が見つかりました(あなたは間違っていますか 指示またはアセンブリ参照を使用してください)

なぜですか? 私は、アセンブリSystem.Net.Http.Formatting.dllを予測し、慎重にこの内線ことを、言っページhttp://msdn.microsoft.com/ru-ru/library/hh834190(v=vs.108).aspx

using System.Net.Http.Formatting; 

を持つように追加しました。メソッドがSystem.Net.Http.Formatting(System.Net.Http.Formatting.dll)にあります 4.0と4.5未満のプロジェクトをコンパイルしようとしましたが効果がありません。

PS。私は完璧に動作する同じコードを持つソリューションを持っています。私に何ができる? "System.Net.Httpを使用して、"

+1

あなたがにリンクMSDNのページには、 'System.Net.Http'名前空間でそれを示しています。あなたはusingステートメントを欠いていますか? –

+0

ありがとうございます!本当に愚かなエラー、私はそれを2回チェックしましたが、どんな場合でも失われました... –

答えて

8

は、次の参照を追加します。

{}の

+0

私は同じ問題がありますが、私はこの参照を追加し、この行を上に持っています。しかし、 "multipart"に関するすべてが見つかりません。私が逃した何か他のものはありますか? –

+0

'update-package'コマンドを入力しようとする@ Package Manager Console –

関連する問題