Blazor:System.NotSupportedException:找不到编码1252数据

时间:2019-09-07 01:44:07

标签: asp.net-core .net-core blazor

我试图在单击按钮时使用Aspose创建工作簿,但是在尝试实例化工作簿时,我立即遇到错误:

Blazor is running in dev mode without IL stripping. To make the bundle size significantly smaller, publish the application or see https://go.microsoft.com/fwlink/?linkid=870414
blazor.webassembly.js:1 WASM: Hello from C#
blazor.webassembly.js:1 WASM: 
blazor.webassembly.js:1 WASM: Unhandled Exception:
d.printErr @ blazor.webassembly.js:1
blazor.webassembly.js:1 WASM: System.NotSupportedException: Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled.
d.printErr @ blazor.webassembly.js:1
blazor.webassembly.js:1 WASM:   at System.Text.Encoding.GetEncoding (System.Int32 codepage) <0x3538bc0 + 0x00316> in <d9c16b0fee7344919775df5988c885d0>:0 

FetchData.razor

<button class="btn btn-primary" @onclick="DownloadFile">Download</button>

@code {
    WeatherForecast[] forecasts;

    protected override async Task OnInitializedAsync()
    {
        forecasts = await Http.GetJsonAsync<WeatherForecast[]>("sample-data/weather.json");
    }

    private async void DownloadFile()
    {
        Console.WriteLine("Hello from C#");

        var wb = new Aspose.Cells.Workbook();

        Console.WriteLine("Created Workbook");

        MemoryStream ms = new MemoryStream();
        wb.Save(ms, Aspose.Cells.SaveFormat.Xlsx);
        byte[] bytes = new byte[ms.Length];
        ms.Read(bytes, 0, bytes.Length);

        Console.WriteLine("Buffed Bytes, sending...");

        await JS.InvokeVoidAsync("saveAsFile", "testWorkbook2.xlsx", bytes);
    }
}

Startup.cs

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
        }

        public void Configure(IComponentsApplicationBuilder app)
        {
            app.AddComponent<App>("app");
        }
    }

dotnet版本

λ dotnet --version
3.0.100-preview9-014004

如您所见,我正在尝试在System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);中添加带有startup.cs的代码页,但是显然它们没有被加载。我在这里做什么错了?

参考:https://github.com/aspnet/Blazor/issues/1338

1 个答案:

答案 0 :(得分:1)