Сообщение Как передавать файлы между js и webassembly от 22.10.2023 10:03
Изменено 22.10.2023 10:26 bnk
Как передавать файлы между js и webassembly
Разбираюсь тут с поддержкой webassembly [JSImport]/[JSExport],
В .NET 7 ее наконец отцепили от непонятной штуки в виде блазора (блазор не нужен, компиляция dotnet в webassembly нужна)
https://www.meziantou.net/using-dotnet-code-from-javascript-using-webassembly.htm
Как передавать файлы (блобы) между js и webassembly? Если использовать byte[] это нормально?
Условный код ниже
C#
JS
Вообще глобальная цель — заюзать библиотеку OpenXml прямо из браузера, без отправки файлов на сервер.
В .NET 7 ее наконец отцепили от непонятной штуки в виде блазора (блазор не нужен, компиляция dotnet в webassembly нужна)
https://www.meziantou.net/using-dotnet-code-from-javascript-using-webassembly.htm
Как передавать файлы (блобы) между js и webassembly? Если использовать byte[] это нормально?
Условный код ниже
C#
public partial class MyFileProcessor
{
// Экспортируем нашу функцию. Что она должна принимать в качестве параметра ("blob")?
[JSExport]
internal static string ProcessFile(blob) //<< какой тип должен иметь blob?
{
}
}
JS
...
const dotnetcode = await getAssemblyExports(config.mainAssemblyName);
const file = new Blob(...) //< или чем он должен быть?
...
// вызываем метод
const result = dotnetcode.MyFileProcessor.ProcessFile(file);
Вообще глобальная цель — заюзать библиотеку OpenXml прямо из браузера, без отправки файлов на сервер.
Как передавать файлы между js и webassembly
Разбираюсь тут с поддержкой webassembly [JSImport]/[JSExport],
В .NET 7 ее наконец отцепили от непонятной штуки в виде блазора. Блазор не нужен (tm), компиляция dotnet в webassembly нужна
https://www.meziantou.net/using-dotnet-code-from-javascript-using-webassembly.htm
Как передавать файлы (блобы) между js и webassembly? Если использовать byte[] это нормально?
Условный код ниже
C#
JS
Вообще глобальная цель — заюзать библиотеку OpenXml прямо из браузера, без отправки файлов на сервер.
В .NET 7 ее наконец отцепили от непонятной штуки в виде блазора. Блазор не нужен (tm), компиляция dotnet в webassembly нужна
https://www.meziantou.net/using-dotnet-code-from-javascript-using-webassembly.htm
Как передавать файлы (блобы) между js и webassembly? Если использовать byte[] это нормально?
Условный код ниже
C#
public partial class MyFileProcessor
{
// Экспортируем нашу функцию. Что она должна принимать в качестве параметра ("blob")?
[JSExport]
internal static string ProcessFile(blob) //<< какой тип должен иметь blob?
{
}
}
JS
...
const dotnetcode = await getAssemblyExports(config.mainAssemblyName);
const file = new Blob(...) //< или чем он должен быть?
...
// вызываем метод
const result = dotnetcode.MyFileProcessor.ProcessFile(file);
Вообще глобальная цель — заюзать библиотеку OpenXml прямо из браузера, без отправки файлов на сервер.