Search results

Sort the selected files

You can sort the selected files in uploader control by using the selected event. Refer to the following example.

razor
sorting.cs
<div class="control_wrapper">
    @Html.EJS().Uploader("UploadFiles").Selected("onSelect").AsyncSettings(new Syncfusion.EJ2.Inputs.UploaderAsyncSettings { SaveUrl = "https://aspnetmvc.syncfusion.com/services/api/uploadbox/Save", RemoveUrl = "https://aspnetmvc.syncfusion.com/services/api/uploadbox/Remove" }).Render()
</div>

<script>
    var initial = true
    function onSelect(args) {
        if (initial) { initial = false; return; }
        args.isModified = true;
        var uploadObj = document.getElementById("UploadFiles").ej2_instances[0];
        let oldFiles = uploadObj.getFilesData();
        let filesData = args.filesData.concat(oldFiles);
        let modifiedData = sortFileList(filesData);
        args.modifiedFilesData = modifiedData;
    }

    function sortFileList(filesData) {
        let files = filesData;
        let fileNames = [];
        for (let i = 0; i < files.length; i++) {
            fileNames.push(files[i].name);
        }
        let sortedFileNames = fileNames.sort();
        let sortedFilesData = [];
        let index = 0;
        for (let name of sortedFileNames) {
            for (let i = 0; i < files.length; i++) {
                if (name === files[i].name) {
                    sortedFilesData.push(files[i]);
                }
            }
        }
        return sortedFilesData;
    }
</script>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace EJ2CoreSampleBrowser.Controllers.TextBoxes
{
    public partial class UploaderController : Controller
    {
        public ActionResult DefaultFunctionalities()
        {
            return View();
        }
    }
}