Я пытаюсь создать API для загрузки PDF, что я сделал так:
HttpResponseMessage result = new HttpResponseMessage();
MemoryStream stream = new MemoryStream();
try {
var base64 = "...";
byte[] pdfBytes = Convert.FromBase64String(base64);
stream = new MemoryStream(pdfBytes);
var resultPDF = Encoding.UTF8.GetString(stream.ToArray());
result.StatusCode = HttpStatusCode.OK;
result.Content = new StringContent(resultPDF);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "BuildingDetail.pdf" };
} catch (Exception e) {
stream.Close();
result.StatusCode = HttpStatusCode.InternalServerError;
result.ReasonPhrase = e.Message;// "Error occured while exporting csv file!";
} finally {
stream.Close();
}
Когда я пытаюсь протестировать API, он может загружаться, но PDF пуст.
Я также пытался скопировать строку base64
и декодировать ее с помощью другого бесплатного сайта decode and download
. Кажется, что он работает нормально, поэтому base64
не является проблемой.
Любой совет по этому поводу будет оценен. Спасибо.