.NET equivalent of curl to upload a file to REST API?

后端 未结 1 783
盖世英雄少女心
盖世英雄少女心 2021-01-01 02:52

I need to upload an ics file to a REST API. The only example given is a curl command.

The command used to upload the file using curl looks like this:



        
相关标签:
1条回答
  • 2021-01-01 03:19

    I managed to get a working solution. The quirk was to set the method on the request to PUT instead of POST. Here is an example of the code I used:

    var strICS = "text file content";
    
    byte[] data = Encoding.UTF8.GetBytes (strICS);
    
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create ("http://someurl.com");
    request.PreAuthenticate = true;
    request.Credentials = new NetworkCredential ("username", "password");;
    request.Method = "PUT";
    request.ContentType = "text/calendar";
    request.ContentLength = data.Length;
    
    using (Stream stream = request.GetRequestStream ()) {
        stream.Write (data, 0, data.Length);
    }
    
    var response = (HttpWebResponse)request.GetResponse ();
    response.Close ();
    
    0 讨论(0)
提交回复
热议问题