Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Context dando erro

Bom dia,

Este curso realmente está sendo um grande CTRL+C/CTRL+V sem profundidade nenhuma, não sei se o professor não dominava o assunto e acabou sendo essa grande decepção.

Estou recebendo o erro abaixo: "O nome "context" não existe no contexto atual"

repositório GIT: https://github.com/andrecoelhojr/3506-csharpWeb-screensound-curso1/tree/aula06-blazor

Conseguem me auxiliar nesta questão?

@page "/CadastrarArtista"
@inject ArtistasAPI artistasAPI;
@inject NavigationManager navigationManager;

<MudPaper Class="px-8 pt-2 pb-4 mx-12 my-8" Justify="Justify.Center">
    <MudText Class="mt-8" Typo="Typo.h4">Cadastro do Artista</MudText>
    <MudForm>
        <MudTextField Class="mt-4" T="string" Placeholder="Nome do Artista"
                      Variant="Variant.Outlined"
                      @bind-Value="nome"
                      Required="true"
                      RequiredError="Campo obrigatório." />

        <MudTextField Class="mt-4" T="string" Placeholder="Biografia do artista"
                      Variant="Variant.Outlined"
                      @bind-Value="biografia"
                      Lines="4"
                      Required="true"
                      RequiredError="Campo obrigatório." />

        <MudImage Class="mt-4" src="@fileImage" />
        <MudFileUpload T="IBrowserFile" Accept=".jpeg" FilesChanged="UploadFile">
            <ButtonTemplate>
                <MudButton HtmlTag="label"
                           Variant="Variant.Filled"
                           Color="Color.Primary"
                           StartIcon="@Icons.Material.Filled.PhotoCamera"
                           for="@context">
                    Foto de Perfil
                </MudButton>
            </ButtonTemplate>
        </MudFileUpload>

        <div class="d-flex justify-space-between mt-4">
            <MudButton Variant="Variant.Filled"
                       @onclick="Voltar"
                       Color="Color.Primary">
                Voltar
            </MudButton>
            <MudButton Variant="Variant.Filled"
                       @onclick="Cadastrar"
                       Color="Color.Primary">
                Cadastrar
            </MudButton>
        </div>
    </MudForm>
</MudPaper>

@code {
    private string? nome;
    private string? biografia;
    private string? fileImage;

    private async Task Cadastrar()
    {
        var request = new ArtistaRequest(nome!, biografia!);
        await artistasAPI.AddArtistaAsync(request);
        navigationManager.NavigateTo("Artistas");
    }

    private void Voltar()
    {
        navigationManager.NavigateTo("/Artistas");
    }

    private async Task UploadFile(IBrowserFile file)
    {
        long maxFileSize = 1024 * 1024 * 15;
        var format = "image/jpeg";
        var resizedImage = await file.RequestImageFileAsync(format, 200, 200);

        using var fileStream = resizedImage.OpenReadStream();
        using var memoryStream = new MemoryStream();
        await fileStream.CopyToAsync(memoryStream);

        fileImage = $"data:{format};base64,{Convert.ToBase64String(memoryStream.ToArray())}";
    }
}
2 respostas

Oi André, eu acredito que o erro esteja nessa parte do seu código:

O atributo for="@context" está completamente fora de contexto, esse context só existe quando você está dentro de um Context explícito ou dentro de componentes como TemplateContext, acredito que seja isso o problema.

solução!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade