Prześlij wiele plików w jednym HTTPWebRequest

Stworzyłem usługę, która akceptuje 2 rzeczy:

1) Parametr ciała o nazwie „typ”.

2) Plik csv do przesłania.

czytam te dwie rzeczy po stronie serwera:

 //Read body params
 string type = HttpContext.Current.Request.Form["type"];

 //read uploaded csv file
 Stream csvStream = HttpContext.Current.Request.Files[0].InputStream;

jak mogę to przetestować, używamSkrzypek aby to przetestować, ale mogę wysyłać tylko jedną rzecz na raz (typ lub plik), ponieważ obie rzeczy mają inny typ zawartości, jak mogę użyć typu zawartościdane wieloczęściowe / formularze iapplication / x-www-form-urlencoded w tym samym czasie.

Nawet używam tego kodu

    public static void PostDataCSV()
    {
        //open the sample csv file
        byte[] fileToSend = File.ReadAllBytes(@"C:\SampleData.csv"); 

        string url = "http://localhost/upload.xml";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        request.ContentType = "multipart/form-data";
        request.ContentLength = fileToSend.Length;


        using (Stream requestStream = request.GetRequestStream())
        {
            // Send the file as body request. 
            requestStream.Write(fileToSend, 0, fileToSend.Length);
            requestStream.Close();
        }

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        //read the response
        string result;
        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
        {
            result = reader.ReadToEnd();
        }

        Console.WriteLine(result);
    }

To również nie wysyła żadnego pliku na serwer.

questionAnswers(2)

yourAnswerToTheQuestion