Search results

Achieve invisible upload

You can achieve the invisible upload feature by using the selected event in uploader control. Refer to the following example.

razor
invisible.cs
<div class="control_wrapper">
    <div id='preview'></div>
      @Html.EJS().Uploader("UploadFiles").AllowedExtensions(".png, .jpg, .jpeg").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>
    function onSelect(args) {
        for (var i = 0; i < args.filesData.length; i++) {
            var liparentDiv = ej.base.createElement('div', { className: 'image-list' });
            var liImage = ej.base.createElement('img', { className: 'image' });
            liparentDiv.appendChild(liImage);
            readURL(liImage, args.filesData[i]);
            document.getElementById('preview').appendChild(liparentDiv);
        }
        args.cancel = true;
    }

    function readURL(liImage, file) {
        var imgPreview = liImage;
        var imageFile = file.rawFile;
        var reader = new FileReader();
        reader.addEventListener('load', () => {
            imgPreview.src = reader.result;
        }, false);
        if (imageFile) {
            reader.readAsDataURL(imageFile);
        }
    }
</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();
        }
    }
}