Are you actually using WASMFS?  Or are you using the default emscripten
filesystem?

If the you want to avoid copies I think you have two choices:

1. Using a JS-backed filesystem, rather than a memory-backed filesystem.  I
believe this is possible in both WASMFS and the default FS.
2. (As Booke suggested) Pre-allocate space using `malloc` and then pass the
wasm memory buffer (with offset) to the FileReader API.  This technique is
called BYOB (bring your own buffer).   I don't if the FileReader API
supports this.  If it doesn't, you can't use this option.

cheers,
sam

On Tue, Mar 11, 2025 at 10:48 PM fidel e. <[email protected]> wrote:

> Hello,
>
> Just wondering if there is a way to access a file from user's local system
> (accessed via JavaScript) without copying it to the wasm file sytem?
>
> My initial plan was to use the FileReader API from JS then on the 'onload'
> event, retrieve the byteOffset from the array buffer and pass that wasm.
> But it seems that the array where the file was loaded is located on the
> RAM. My understanding is we can only pass the address (byteOffset) if the
> array is created on the heap via malloc.
>
> Any ideas?
>
> Thank you very much.
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/emscripten-discuss/6a199ee0-52b7-4d3e-bd49-e55a89771f7dn%40googlegroups.com
> <https://groups.google.com/d/msgid/emscripten-discuss/6a199ee0-52b7-4d3e-bd49-e55a89771f7dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_aaqai4GKA48XCyinMk1N2oV40pjYgDNRWqozFJyzjig%40mail.gmail.com.

Reply via email to