Каков будет правильный способ реализовать 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) со всего мира, чтобы избежать ошибок кодирования?