Blazor WebAssembly中使用mediainfo.js的实现求助
Blazor WebAssembly中使用mediainfo.js的实现求助
我最近在尝试把mediainfo.js集成到我的Blazor WebAssembly项目里,这是我第一次在这种场景下使用JS,完全摸不着头绪。从C#代码里调用普通JS函数没问题,但只要在自己写的JS函数里用到mediainfo相关的内容就会报错。
我试过好几种方式引入mediainfo.js库:本地文件、CDN链接等等,但每次在JS里调用的时候都提示找不到这个库。有没有大佬能给我一个简单的示例参考一下呀?
感谢!
Alex
更新内容:
我目前的做法是这样的:
在index.html里加了这两行:
<script src="https://cdn.jsdelivr.net/npm/mediainfo.js/dist/mediainfo.js"></script> <script src="mediainfo-wrapper.js"></script>
我的mediainfo-wrapper.js代码是:
async function getMediaInfo(file) { const mediaInfoInstance = await MediaInfo({ format: 'object' }); const fileData = await file.arrayBuffer(); const result = await mediaInfoInstance.analyzeData(() => file.size, () => fileData); return result; }
然后在Blazor代码里用这行调用这个JS函数:
await JSRuntime.InvokeAsync<string>("getMediaInfo", file);
我又试了好几种方法还是没解决问题,我觉得核心问题应该是我没搞懂怎么正确导入需要的JS文件/模块。这个npm包里有不同的子文件夹(esm、esm-bundle、umd),我都试过作为入口点,但不确定哪种才适合Blazor WebAssembly,甚至不确定到底能不能实现。
实在没辙了,希望有人能帮帮我!
备注:内容来源于stack exchange,提问作者AKuhlmann
相关产品推荐
相关产品推荐

