WebAPI File Download
// Example Using Kendo FileSaver
// npm install --save @progress/kendo-file-saver
import { saveAs, encodeBase64 } from '@progress/kendo-file-saver';
const dataURI = "data:text/plain;base64," + encodeBase64("Hello World!");
saveAs(dataURI, "test.txt", {
proxyURL: "/path/to/proxy",
forceProxy: true
});
public class SaveFile : ApiController
{
public class FileData
{
public string ContentType { get; set; }
public string Base64 { get; set; }
public string FileName { get; set; }
}
// POST api/savefile
public HttpResponseMessage Post([FromBody]FileData file)
{
var data = Convert.FromBase64String(file.Base64);
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StreamContent(new MemoryStream(data))
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue(file.ContentType);
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = file.FileName
};
return result;
}
}