Articles in this section
Category / Section

How to pass additional data to save handler in UploadBox?

2 mins read

Description

You can pass the data to the controller by using the Begin event of the UploadBox control. In the Begin event, pass the data in the script section.

 

Solution

You have to render the UploadBox control in the View page as shown in the following code example.

View

@Html.EJ().Uploadbox("UploadDefault").SaveUrl("SaveDefault").RemoveUrl("RemoveDefault").AllowDragAndDrop(true).MultipleFilesSelection(true).AsyncUpload(true).ClientSideEvents(e => e.Begin("onbegin")).ShowBrowseButton(false)

 

In the Begin event, pass the data in the script section as follows.

Script

function onbegin(args)

{

     args.data = "Uploadname";

}

 

After passing the data in the Begin event, pass the value as string in the controller page and return the data as shown in the following code example. Then, set the string value as the ID of the UploadBox continued by _data. For example, UploadDefault_data. Here, the ID of the UploadBox is UploadDefault.

Controller

public ActionResult SaveDefault(IEnumerable<HttpPostedFileBase> UploadDefault, string UploadDefault_data)
{
     foreach (var file in UploadDefault)
     {
          var fileName = Path.GetFileName(file.FileName);
          var destinationPath = Path.Combine(Server.MapPath("~/App_Data"), fileName);
          file.SaveAs(destinationPath);
      }
           ViewData["data"] = UploadDefault_data;
           return Content(UploadDefault_data);
}

 

 

Note:

Here, the UploadDefault_data is returned to the View page in order to display the additional data in the View page.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied