একটি নিয়মিত এমভিসি নিয়ামক, আমরা একটি সঙ্গে পিডিএফ আউটপুট করতে পারেন FileContentResult
।
public FileContentResult Test(TestViewModel vm)
{
var stream = new MemoryStream();
//... add content to the stream.
return File(stream.GetBuffer(), "application/pdf", "test.pdf");
}
তবে কীভাবে আমরা এটিকে পরিবর্তন করতে পারি ApiController
?
[HttpPost]
public IHttpActionResult Test(TestViewModel vm)
{
//...
return Ok(pdfOutput);
}
এখানে আমি চেষ্টা করেছি কিন্তু এটি কাজ করে না বলে মনে হচ্ছে।
[HttpGet]
public IHttpActionResult Test()
{
var stream = new MemoryStream();
//...
var content = new StreamContent(stream);
content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
content.Headers.ContentLength = stream.GetBuffer().Length;
return Ok(content);
}
ব্রাউজারে প্রদর্শিত ফলাফলটি হ'ল:
{"Headers":[{"Key":"Content-Type","Value":["application/pdf"]},{"Key":"Content-Length","Value":["152844"]}]}
এবং এসও তে একটি অনুরূপ পোস্ট রয়েছে: এএসপি.নেট ওয়েব এপিআই এ নিয়ন্ত্রক থেকে বাইনারি ফাইল ফিরছে । এটি একটি বিদ্যমান ফাইল আউটপুট সম্পর্কে কথা বলে। তবে আমি এটিকে কোনও স্ট্রিম দিয়ে কাজ করতে পারি না।
কোনও পরামর্শ?