masastack / MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.
https://docs.masastack.com/blazor/getting-started/installation
MIT License
1.12k stars 151 forks source link

[Bug Report]: MDataTable OutOfMemoryException #1785

Closed LeeCY-C closed 2 months ago

LeeCY-C commented 2 months ago

Masa.Blazor version

1.3.4

Describe the bug

列表通过ItemColContent指定Column显示内容时当放入一个img,且通过Base64传递Src时抛出内存溢出异常,不清楚是不是Base64字符串太长了导致的(我测试时Base64字符大概3M) `

Tooltip
                    </div>`

Expected Behavior

No response

Steps To Reproduce

No response

Reproduction code

No response

.NET version

.NET6

What browsers are you seeing the problem on?

No response

Additional context

No response

capdiem commented 2 months ago

@LeeCY-C 你可以把Image组件改成 img 标签试试,如果还发生那就不是组件的问题。请测试一下。

LeeCY-C commented 2 months ago

一开始就是Img,但是只要我不向Table的Items里面添加项就不会溢出,目前还不清楚原因

capdiem commented 2 months ago

@LeeCY-C “不向Table的Items里面添加项” 意思是只有动态添加才会异常吗?items一开始有数据,就不会异常?

LeeCY-C commented 2 months ago

Table一开始是空的,当我动态添加一个很长的Base64码后就异常了

capdiem commented 2 months ago

@LeeCY-C 请测试一下直接在页面上动态添加一个img标签是否会出现异常。

LeeCY-C commented 2 months ago

我的操作是,把截取到的图片转成Base64后存入列表,Table显示列表中的数据,当源图片比较小时,截取出的图片大概只有几百K,但是当源图片很大时截取出的图片可能大小为5M或以上,这时就是抛内存溢出异常,我以为是组件的问题但是我试了另一个组件库的Table后依然会出现这个错,我觉得可能不是组件的问题,我在调试看下把,感谢解答。

capdiem commented 2 months ago

@LeeCY-C 建议通过JS互操作让js去设置img的src。

github-actions[bot] commented 2 months ago

This issue is stale because it has been open for 4 days with no activity.