Dalam API Web Teras ASP.Net, mengembalikan fail sebagai respons JSON boleh menyusahkan. Maklumlah, anda ingin memulangkan fail dalam format binari asalnya. Untuk menyelesaikan isu ini, kita perlu menyelidiki konsep jenis hasil dalam Teras ASP.Net.
Memahami Antara Muka IActionResult
Dalam Teras ASP.Net, IActionResult ialah antara muka yang mewakili hasil kaedah tindakan. Ia merangkumi badan respons HTTP dan kod status, memberikan fleksibiliti dalam menyesuaikan respons.
Penyelesaian: Mengembalikan FileStreamResult
Untuk mengembalikan fail, kami akan memanfaatkan Kelas FileStreamResult, yang melaksanakan IActionResult. Ini membolehkan kami menentukan aliran fail, jenis kandungan dan nama fail untuk respons.
Coretan kod berikut menunjukkan pendekatan ini:
<code class="csharp">[Route("api/[controller]")] public class DownloadController : Controller { [HttpGet("{id}")] public async Task<IActionResult> Download(string id) { Stream stream = await // Get stream based on id here if (stream == null) return NotFound(); // Handle not found scenario return File(stream, "application/octet-stream", "filename.ext"); } }</code>
Dalam kod ini:
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan Fail sebagai Respons Binari dalam API Web Teras ASP.Net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!