В сети нет готового кода, отвечающего вашим требованиям. Syncfusion действительно имеет компонент, который соответствует тому, что вы ищете, но, к сожалению, вам нужна лицензия для его использования.
То, что упомянуто Umair , является наилучшим из возможных для загрузки файл в blazor, и это тоже без лицензии.
(100.0 * file.Data.Position / file.Size).ToString("0")
даст вам процент чтения файла. Затем вы можете использовать bootstrap или любой другой индикатор выполнения для отслеживания вашего прогресса.
<div class="progress">
<div class="progress-bar" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
В приведенном выше примере все, что вам нужно сделать, это изменить style
и aria-valuenow
стоимость. В Blazor ваш код будет выглядеть примерно так.
@{
var progress = (100.0 * file.Data.Position / file.Size).ToString("0");
<div class="progress">
<div class="progress-bar" role="progressbar" style="@($"width: {progress}%")" aria-valuenow="@progress" aria-valuemin="0" aria-valuemax="100"></div>
</div>
}
Позже вы можете поэкспериментировать с css, чтобы получить тот вид, который вам нужен.