Как избежать ошибок кодирования для REST API в c # System.Web.Http.ApiController - PullRequest
0 голосов
/ 21 ноября 2018

Каков будет правильный способ реализовать Rest API, где любой пользователь может загрузить любой, скажем, файл * .cvs, со всего мира (что означает -> ASCII, UTF-8, UTF-16) и ячем хотелось бы вернуть XML-представление этого загруженного файла в UTF-8.

Что я получил до сих пор:

   [RoutePrefix("xml-service")]
   public class MyController : ApiController
   {
      [Route("xml")]
      [HttpPost]
      public HttpResponseMessage GetXml([FromBody] string request_text_file_data_as_string)
      {
         MyConverter reader = new MyConverter();
         reader.ReadTxtFile(request_text_file_data_as_string);
         XmlDocument xmlData = reader.GetXml();

         var response = Request.CreateResponse(HttpStatusCode.Ok);
         response.Content = new StringContent(xmlData.OuterXml, Encoding.UTF8, "application/xml");
         return response;
      }   
   }

Но я не думаю, что это будет работать, или?(Я думаю, что строковое кодирование «request_text_file_data_as_string» зависит от настроек культуры серверов, или?) Нужно ли мне использовать byte [] request_text_file_data_as_string, и если, как мне преобразовать его правильным образом?Итак, мой главный вопрос: как лучше всего использовать API отдыха в C # s ApiController, где пользователи могут загружать любой кодированный файл (ASCII, UTF-8, UTF-16) со всего мира, чтобы избежать ошибок кодирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...