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#.

---

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: 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; }
    }
}

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
66

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.

Unplanned
Last Updated: 09 Mar 2023 10:41 by ADMIN
Created by: Mike
Comments: 0
Category: Upload
Type: Feature Request
1
This request is for the Upload component to allow using a named HttpClient for connecting to the Web API.  This would alleviate the need to enter authentication headers in the OnUpload event if the named HttpClient has already been configured for all of that at startup.  I see 2 potential options for this.  Either provide a string parameter that contains the name of the HttpClient that was set up at startup. This way when you instantiate an HttpClient, you can use a factory to create it by name.  Or provide an IHttpClient parameter where the user can directly pass in the client to the component.
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.
Unplanned
Last Updated: 19 Jan 2023 08:03 by ADMIN
Created by: Bob
Comments: 3
Category: Upload
Type: Feature Request
12
Unplanned
Last Updated: 30 Nov 2022 13:44 by Dominik
Created by: Jay
Comments: 16
Category: Upload
Type: Feature Request
67
The goal is to be able to upload large files (above the server limit which is usually 20-30MB).
Duplicated
Last Updated: 08 Oct 2022 08:45 by ADMIN
Created by: Kasim
Comments: 1
Category: Upload
Type: Feature Request
2

Ref: https://demos.telerik.com/kendo-ui/upload/initialfiles

 

TelerikUpload control is a good start. However, missing an important feature of initial files. When can we expect this feature to be added to the control?

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.
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.

-----

Duplicated
Last Updated: 14 May 2022 16:48 by ADMIN
The user is allowed to select any files. Why can't we implement the same accept="image/png, image/jpeg"> so that only these files can be selected?
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: 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
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: 29 Sep 2021 08:40 by ADMIN
Created by: Mitch
Comments: 0
Category: Upload
Type: Feature Request
0
Please consider a timeout setting for the Upload requests, similar to the XmlHttpRequest timeout.
Unplanned
Last Updated: 27 Apr 2021 17:32 by ADMIN
Created by: Matthew
Comments: 0
Category: Upload
Type: Feature Request
16
In the Blazor upload control, is there a way to upload directories (folders)?

 

In MVC, its just

.Directory(true)

.DirectoryDrop(true)
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");
    }
}

---

Duplicated
Last Updated: 09 Nov 2020 12:44 by ADMIN
Created by: Tyler
Comments: 1
Category: Upload
Type: Feature Request
1

Right now we are hiding it based on styling. 

    .k-file-success{
    
    display:none !important;
    }
    
    
Would be nice to have a property to hide it.

We do this to provide a customized display of files uploaded.
1 2