Comment on page
Download Files
WireBootstrap 's
wire.download
functions handles all the internal details needed to support downloading files from an API call.The following example makes an HTTP
GET
call to download a file from a data service at the location specified in the url
property in the configuration. The downloaded file name is specified using the fileName
property.wire.download({
url: "/download-file",
fileName: "sales_oct.pdf"
});
Add parameters to the call if needed.
wire.download({
url: "/DownloadFile?month=10",
fileName: "sales_oct.pdf"
});
To change the call to a POST call in order to send data to the data service in the body of the request before the file is downloaded, add the
data
property in the configuration and include the data as seen below.const payload = { month: 10 };
wire.download({
url: "/DownloadFile",
data: payload,
fileName: "sales_oct.pdf"
});
Below is a C# example of what the service method might look like for this call.
using Microsoft.AspNetCore.Mvc;
public class DownloadController : Controller {
[HttpGet]
public async Task<IActionResult> DownloadFile(int month)
{
try
{
// Get sales report data in bytes for month = 10 (October)
byte[] pdfFile = GetReport(month);
// Return the file to the caller
return File(pdfFile, "application/pdf");
}
catch (Exception ex)
{
return Json(ex);
}
}
}
Last modified 2yr ago