Я пытаюсь использовать это и это, чтобы получить HTML-файл в качестве вывода, но получил error 500
Цель моего приложения основана на запросе API, сервер сгенерирует запрошенный вывод в виде html-файла и отправит его по запросу пользователя.
используются следующие коды:
using Microsoft.AspNetCore.Mvc; // for Controller, [Route], [HttpPost], [FromBody], JsonResult and Json
using System.IO; // for MemoryStream
using System.Net.Http; // for HttpResponseMessage
using System.Net; // for HttpStatusCode
using System.Net.Http.Headers; // for MediaTypeHeaderValue
namespace server{
[Route("api/[controller]")]
public class FileController : Controller{
[HttpGet]
public HttpResponseMessage Get()
{
string r = @"
Hello There
";
var stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(r);
writer.Flush();
stream.Position = 0;
// processing the stream.
byte[] Content = convert.StreamToByteArray(stream);
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content.Headers.ContentDisposition =
new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
{
FileName = "welcome.html"
};
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
return result;
}
}
}
и:
using System.IO; // for MemoryStream
namespace server{
class convert{
public static byte[] StreamToByteArray(Stream inputStream)
{
byte[] bytes = new byte[16384];
using (MemoryStream memoryStream = new MemoryStream())
{
int count;
while ((count = inputStream.Read(bytes, 0, bytes.Length)) > 0)
{
memoryStream.Write(bytes, 0, count);
}
return memoryStream.ToArray();
}
}
}
}
Мне нужно, чтобы возвращаемый результат был файлом .html
, чтобы я мог открыть его в новом окне браузера, используя JavaScript, например var a = window.open(returnedFile, "name");
file
, чтобы с помощью JavaScript я мог открыть его в другом окне, отличном от открытого, напримерvar a = window.open(url, "name");
- person Hasan A Yousef   schedule 21.12.2016