Unplanned
Last Updated: 23 Oct 2024 04:52 by ADMIN
Created by: Jay
Comments: 21
Category: Upload
Type: Feature Request
70
The goal is to be able to upload large files (above the server limit which is usually 20-30MB).
Completed
Last Updated: 09 Mar 2023 15:32 by ADMIN
Release 4.1.0 (15/03/2023)
Created by: Alan
Comments: 2
Category: Upload
Type: Feature Request
69

I would like to have the upload component but change the text on the button (or maybe its entire content through a render fragment template) through a Parameter on the component level.

At the moment I can only do this through localization for all components.

---

ADMIN EDIT

---

The request targets both the Upload and the FileSelect components.

Completed
Last Updated: 28 Feb 2023 11:57 by ADMIN
Release 4.1.0 (15/03/2023)
Created by: Dan
Comments: 8
Category: Upload
Type: Feature Request
32
I would like to use a custom zone on my page where people can drop files. At the moment, the upload requires a click on the "upload" button.
Completed
Last Updated: 12 Jan 2022 15:10 by ADMIN
Release 3.0.0
Created by: Alan
Comments: 1
Category: Upload
Type: Feature Request
30
If I set AutoUpload=false, I have a button that starts the upload process. I would like to be able to do that with my own button.
Completed
Last Updated: 12 Jan 2022 15:10 by ADMIN
Release 3.0.0
Created by: Emran
Comments: 0
Category: Upload
Type: Feature Request
23
I want to be able to clear all successfully uploaded files in the success event, like in Kendo jQuery: https://docs.telerik.com/kendo-ui/api/javascript/ui/upload/methods/clearallfiles
Completed
Last Updated: 22 Feb 2022 08:33 by ADMIN
Created by: Alan
Comments: 3
Category: Upload
Type: Feature Request
19

I would like to have my users click my own button or element to trigger the file select dialog that you get from clicking the "Select Files..." button on the Upload component.

A workaround is to use a function like this

window.customUploadClick = function () {
    $('.k-upload-button input').trigger('click');
}

---

ADMIN EDIT

 

Completed with 3.0.0 release

 

If you are not using jQuery already, you don't have to add it for this, standard browser API can do this too:

 

@inject IJSRuntime _js

<script suppress-error="BL9992">
    window.customUploadClick = function () {
        document.querySelector(".k-upload-button input").click();
    }
</script>

<TelerikButton OnClick="@InvokeSelectClick">invoke click</TelerikButton>

<TelerikUpload></TelerikUpload>

@code{
    async Task InvokeSelectClick()
    {
        await _js.InvokeVoidAsync("customUploadClick");
    }
}

 

---

Completed
Last Updated: 04 Jul 2023 14:03 by ADMIN
Release 4.4.0 (07/19/2023) (R3 PI1)
Created by: Emran
Comments: 0
Category: Upload
Type: Feature Request
18

Like in the Kendo Upload https://docs.telerik.com/kendo-ui/api/javascript/ui/upload/configuration/files - I want to show some files initially to my user

=====

ADMIN EDIT:

A possible workaround is to use a ListView and mimic the Upload/FileSelect interface:

<TelerikUpload SaveUrl="api/upload/save"
               RemoveUrl="api/upload/remove">
</TelerikUpload>

@{
    if (OldFiles.Any())
    {
        <p>Older files:</p>

        <div class="k-upload">
            <ul class="k-upload-files k-reset">
                <TelerikListView Data="@OldFiles" @ref="@ListView">
                    <Template>
                        <li class="k-file k-file-success">
                            <div class="k-file-single">
                                <span class="k-file-group-wrapper">
                                    <span class="k-file-group k-icon k-i-file"></span>
                                </span>
                                <span class="k-file-name-size-wrapper">
                                    <span class="k-file-name " title="@context.Name"> @context.Name </span>
                                    <span class="k-file-validation-message k-text-success">Existing file.</span>
                                </span>
                                <span class="k-upload-status">
                                    <TelerikButton ButtonType="@ButtonType.Button" Title="Remove"
                                                   OnClick="@( _ => RemoveOldFile(context) )"
                                                   Icon="x" FillMode="@ThemeConstants.Button.FillMode.Flat" />
                                </span>
                            </div>
                        </li>
                    </Template>
                </TelerikListView>
            </ul>
        </div>
    }
}

@code {
    TelerikListView<UploadedFile> ListView { get; set; }

    List<UploadedFile> OldFiles { get; set; } = new List<UploadedFile>()
    {
        new UploadedFile() { Id = 1, Name = "foo.txt" },
        new UploadedFile() { Id = 2, Name = "bar.txt" },
    };

    async Task RemoveOldFile(UploadedFile file)
    {
        // delete the file from the remote server...
        // ...
 
        // update the client UI
        OldFiles.Remove(file);
        ListView.Rebind();
    }

    public class UploadedFile
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

Unplanned
Last Updated: 27 Apr 2021 17:32 by ADMIN
Created by: Matthew
Comments: 0
Category: Upload
Type: Feature Request
18
In the Blazor upload control, is there a way to upload directories (folders)?

 

In MVC, its just

.Directory(true)

.DirectoryDrop(true)
Unplanned
Last Updated: 19 Jan 2023 08:03 by ADMIN
Created by: Bob
Comments: 3
Category: Upload
Type: Feature Request
17
Completed
Last Updated: 11 Aug 2022 12:59 by ADMIN
Release 3.6.0 (14 Sep 2022) (R3 2022)


<TelerikUpload SaveUrl="@SaveUrl"
                               RemoveUrl="@RemoveUrl"
                               AllowedExtensions="@( new List<string>() { ".pdf", ".docx" } )"
                               OnSelect="@OnSelectHandler"
                               OnCancel="@OnCancelHandler"
                               OnRemove="@OnRemoveHandler">
                </TelerikUpload>

When the AllowedExtensions is set for the Telerik Upload control, it is expected that the File selection dialog box should filter the files by the file types in the Allowed extensions only. However, the dialog shows all files.

------

ADMIN EDIT

This will likely be exposed via the accept attribute the <input type=file> exposes. Note that it requires MIME types, not extensions.

At the moment, the extension can be filtered only after the file is selected: https://docs.telerik.com/blazor-ui/components/upload/validation.

-----

Completed
Last Updated: 09 Dec 2021 18:06 by Samuel
Release 2.28.0
If a request fails once, the upload will give you a Retry button. This button does not fire OnUpload again, so the request no longer has the custom logic (such as bearer tokens).
Unplanned
Last Updated: 01 Feb 2021 08:37 by ADMIN

Is it possible to programmatically perform actions on the uploader, such as to remove files, rather than having to click on the remove button on each uploaded file?

---

ADMIN EDIT

Might be related to the ability to have initial files shown in the list: https://feedback.telerik.com/blazor/1485660-initial-files-in-blazor-upload.

At the moment, you could try using JS Interop to loop over the list, determine which file you want to remove and .click() its remove button. Here is a basic example of getting the buttons to click the second one. You could traverse the DOM to get the file name, or you could keep a collection of the files to use indexes in a fashion similar to this example.

@inject IJSRuntime _js

@* move this script to a correct location it's here as ahack to make the snippet shorter and easy to copy  *@
<script suppress-error="BL9992">
    function removeSecondFile(){
        var deleteButtons = document.querySelectorAll("li.k-file button span.k-delete");
        if(deleteButtons && deleteButtons.length > 1){
            deleteButtons[1].click();
        }
    }
</script>

<TelerikUpload AutoUpload="false" SaveUrl="my-endpoint"></TelerikUpload>
<TelerikButton OnClick="@RemoveSecondFile">Remove second file</TelerikButton>

@code{
    async Task RemoveSecondFile()
    {
        await _js.InvokeVoidAsync("removeSecondFile");
    }
}

---

Unplanned
Last Updated: 23 Apr 2020 08:03 by ADMIN
The file info passed in UploadSuccessEventArgs to the event contains HTML entities

e.g. for the file "Golf & Country Club.png" the file info name is "Golf &amp; Country Club"  which leads to an exception.
Unplanned
Last Updated: 13 Dec 2023 21:41 by Greg
Created by: Timothy J
Comments: 1
Category: Upload
Type: Feature Request
5

I am trying to upload files to an URL that is not in my control and it requires the PUT HTTP method. The Telerik Blazor Upload always uses a POST.

I imagine API like this would be nice:

 

        <TelerikUpload SaveUrl="@SaveUrl" SaveMethod="PUT">

        </TelerikUpload>

 

---

ADMIN EDIT

In the meantime, there are two possible solutions:

  • Upload the file to your own server that can accept POST and use that server to upload to the third party. This can help hide URLs and security from your end users as well.
  • Implement a FileSelect type of component to get the file in code and upload it with your own HTTP request from C#.

---

Unplanned
Last Updated: 21 May 2020 16:58 by ADMIN
Created by: Ryan
Comments: 0
Category: Upload
Type: Feature Request
4
I want a single button that will call the RemoveUrl for all uploaded files. At the moment, there is a separate button for each file only.
Unplanned
Last Updated: 09 Nov 2021 10:17 by ADMIN
I would like to upload multiple files with the same POST request
Unplanned
Last Updated: 22 Apr 2024 10:21 by Quentin
Created by: Quentin
Comments: 0
Category: Upload
Type: Feature Request
4

When the Upload has Initial Files, the RemoveUrl endpoint is not called when the user removes them from the UI. 

===

TELERIK EDIT

The current workaround is to call the RemoveUrl in the Upload's OnRemove event handler. This is also applicable when you need to send additional custom data with the file name.

.razor file

@inject HttpClient HttpClient

<TelerikUpload OnRemove="@OnUploadRemove" RemoveUrl="@RemoveUrl" />

@code {
    private string RemoveUrl { get; set; } = "api/upload/remove";

    private async Task OnUploadRemove(UploadEventArgs args)
    {
        // code for non-initial files
        // send optional custom data to the controller
        args.RequestData.Add("requestKey", "custom value");

        // code for initial files
        // call the RemoveUrl
        if (args.Files.First().Status == UploadFileStatus.Blank)
        {
            var multipartContent = new MultipartFormDataContent();

            multipartContent.Add(new StringContent(args.Files.First().Name), "files"); // "files" must match the RemoveField value
            multipartContent.Add(new StringContent("requestKey"), "custom value"); // send optional custom data to the controller

            await HttpClient.PostAsync(RemoveUrl, multipartContent);
        }
    }
}

 

Program.cs

builder.Services.AddHttpClient();

 

Completed
Last Updated: 31 Aug 2023 10:21 by ADMIN
Release 4.6.0 (10/11/2023) (R3 2023)
Created by: stephen
Comments: 1
Category: Upload
Type: Feature Request
3

Accessibility issue
impacts screen reader user

[WCAG 1.3.1 level A] [WCAG 4.1.3 level AA]

tested using NVDA on chrome browser

on selecting upload button (w/ files already chosen) user is not advised the overall status of the files or individual files.

A visual user is informed;

  • overall status as 'done'.
  • completeness of individual files

This has not been 100% tested, as the upload was not targeted to an end point.

Suggestion: use aria-live

Also note, on selecting the upload button the focus is returned to input, and input says no files.

Completed
Last Updated: 14 Oct 2022 15:53 by ADMIN
Release 3.7.0 (09 Nov 2022)

accessibility issue - upload is not notifying files are chosen

Impacts screen reader users

[WCAG 1.3.1 level A] [WCAG 4.1.3 level AA]

tested using NVDA on chrome browser

input (type="file") status always reads as 'no file chosen' when one or more files have been chosen (correct when no files are chosen). 


on choosing a file to upload (so no file chosen yet), screen reader advises; web page title, chrome, page contents, file input status (same behaviour as default html 5 file input). On choosing a file a default browser html 5 file input will advise a file has been chosen. The list shown below the Telerik component is not known to a screen reader user

Completed
Last Updated: 24 Aug 2022 10:46 by ADMIN
Release 3.6.0 (14 Sep 2022) (R3 2022)
Created by: Bernard
Comments: 1
Category: Upload
Type: Feature Request
2
Please implement an Id attribute for the Upload component. This will allows us to associate <label> tags to it and pass accessibility checks.
1 2