New Product LaunchBoldDesk: Help desk ticketing software starts at $10 for 3 agents.
Try it for free.
[index.razor]
@using Syncfusion.EJ2.Blazor
@using Syncfusion.EJ2.Blazor.Inputs
<EjsUploader @ref="uploadObj" ID="UploadFiles" Multiple="false" AutoUpload="true">
<UploaderAsyncSettings SaveUrl="api/Default/Save" RemoveUrl="api/Default/Remove"></UploaderAsyncSettings>
<UploaderEvents FileSelected="@Selected" BeforeRemove="@Remove"></UploaderEvents>
</EjsUploader>
@code{
EjsUploader uploadObj;
FileInfo fileModel = new FileInfo();
void Selected(SelectedEventArgs args)
{
// custom parameter in the selected event
args.CurrentRequest = new List<object> { new { FileName = "Testing" } };
}
void Remove(BeforeRemoveEventArgs args)
{
// custom parameter in the before remove event
args.CurrentRequest = new List<object> { new { FileName = "Testing" } };
}
}
[DefaultController.cs]
[HttpPost("[action]")]
public void Save(IList<IFormFile> UploadFiles)
{
//getting filename using custom parameter
var FileName = Response.HttpContext.Request.Headers["FileName"].ToString();
long size = 0;
try
{
foreach (var file in UploadFiles)
{
var filename = ContentDispositionHeaderValue
.Parse(file.ContentDisposition)
.FileName
.Trim('"');
filename = hostingEnv.ContentRootPath + $@"\{FileName}";
size += (int)file.Length;
if (!System.IO.File.Exists(filename))
{
using (FileStream fs = System.IO.File.Create(filename))
{
file.CopyTo(fs);
fs.Flush();
}
}
}
}
catch (Exception e)
{
Response.Clear();
Response.StatusCode = 204;
Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "File failed to upload";
Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = e.Message;
}
}
[HttpPost("[action]")]
public void Remove(IList<IFormFile> UploadFiles)
{
try
{
//getting filename using custom parameter
var FileName = Response.HttpContext.Request.Headers["FileName"].ToString();
var filename = hostingEnv.ContentRootPath + $@"\{FileName}";
if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);
}
}
catch (Exception e)
{
Response.Clear();
Response.StatusCode = 200;
Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "File removed successfully";
Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = e.Message;
}
}
} |