2016-07-25 12 views
0

アップロードしたファイルを自分のコントローラーからプロジェクト外の別のAPIに送信しようとしています。 対象のAPIは、タイプマルチパート/フォームデータ内の要求にAsp.net MVCからマルチパート/フォームデータ型の外部APIにリクエストを送信する方法

を受け入れ、私は私の問題は、要求マルチパート/フォームデータを送信し、それ

にアップロードされたファイルを添付する方法である現在のコンテキストからアップロードされたファイル

を読みます

私はクライアント側でそれをやろうとしましたが、クロスドメイン問題のためにできませんでした。

答えて

0

あなたはそのAPIへのHTTPリクエストを作成する必要があります。

ここでは、HttpClientを使用してHttpリクエストを作成し、ファイルを添付ファイルとして送信する方法の例を示します。

filePathパラメータは、MVCからアップロードされたファイルです。

public async Task SendAsync(string filePath) 
{ 
    string url = "http://localhost/api/method"; 

    MultipartFormDataContent content = new MultipartFormDataContent(); 

    var fileContent = new StreamContent(File.OpenRead(filePath)); 
    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); 
    fileContent.Headers.ContentDisposition.FileName = "file.txt"; 
    fileContent.Headers.ContentDisposition.Name = "file"; 
    fileContent.Headers.ContentType = new MediaTypeHeaderValue("text/xml"); 
    content.Add(fileContent); 

    using (HttpClient client = new HttpClient()) 
    { 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 

     HttpResponseMessage response = await client.PostAsync(url, content); 
    } 
} 
関連する問題