Используя контроллер MVC3 .net на серверной стороне, я выполняю HttpPost для отправки файла через HttpContext.
Когда сервер читает файл, список строк возвращается с загрузкойрезультаты.
До сих пор мне удалось заставить работать два сценария:
1) Возвращать список строк в виде одной строки с разделителями табуляции в виде JsonResult
string tabSeparatedMessages = "";
foreach (string message in messageLog)
{
tabSeparatedMessages = tabSeparatedMessages + message;
if (message != messageLog[messageLog.Count - 1])
{
tabSeparatedMessages = tabSeparatedMessages + '\n';
}
}
return this.Json(new
{
success = true,
total = messageLog.Count,
data = tabSeparatedMessages
}, "text/html", JsonRequestBehavior.AllowGet);
2) Вернуть список строк в текстовом файле как ActionResult
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".txt";
using (StreamWriter writer = new StreamWriter(fileName))
{
foreach (string message in messageLog)
{
writer.WriteLine(message);
}
}
return File(fileName, "text/plain", "UPLOAD_RESULTS.txt");
Моя проблема в том, что мне нужны элементы из каждого из этих методов, но у меня возникают трудности при их объединении.Я хочу, чтобы JsonResult мог возвращать логическое значение «success» для выпуска модального ожидающего сообщения на клиенте.Я хочу ActionResult, чтобы клиент мог просто загрузить файл вместо анализа списка строк в компонентах GUI.
Есть ли способ вернуть текстовый файл, который будет загружен как часть JsonResult, или returnДанные JSON с помощью ActionResult?
Спасибо, что прочитали