首页 > 解决方案 > 带有文件的 Blazor 数据发布到 .net 核心 API

问题描述

我正在部署 blazor 服务端应用程序。当我只通过 API 发布数据时,它工作正常。但我想发布数据和文件都抛出一个 API。我使用 BlazorInputFile -v 0.1.0-preview-00002 库。当我使用HttpContext.Request.Form从控制器获取我的数据对象时,它返回字符串值而不是字节 []。我的 blazor component.razor 文件

private async Task Save()
{
    try
    {
        model.Data = JsonConvert.SerializeObject(DataList);
        var ms = new MemoryStream();
        await file.Data.CopyToAsync(ms);

        var content = new MultipartFormDataContent {
            { new ByteArrayContent(ms.GetBuffer()), "image", file.Name },
            { new ByteArrayContent(SerializeToByteArray(model)), "data" }
        };

        await httpClient.PostAsync("api/controllar/method", content);

    }
    catch (Exception ex)
    {
        throw ex;
    }
}
and controller method :
[HttpPost("[action]")]
public ApiResponse Create2()
{
    try
    {
        var byteData = HttpContext.Request.Form["data"];
    }
    catch (System.Exception e)
    {
        throw;
    }
    return null;
}

标签: asp.net-corepostfile-uploadblazorblazor-server-side

解决方案


推荐阅读