On 10/4/24 7:45 AM, Nikolay Ganchev wrote:
We have a custom client, but we use most of the features from the
guacamole java client and we fully reuse the guacd server. We already
have a file upload, from the user to the VM in the session, this is
simple, however I could not find if there is a way to download files
from the VM via the guacamole protocol, can anyone point me towards a
solution, if someone has done something similar?
You need to handle the inbound file stream by providing an "onfile" handler:
https://guacamole.apache.org/doc/guacamole-common-js/Guacamole.Client.html#event:onfile
You can then deal with the received data as you see fit. There are
mechanisms available in JavaScript for client-side assembly and download
of files using Blob objects and similar:
https://w3c.github.io/FileAPI/
There are reader implementations that make consuming the stream easier
depending on the type of data that would be most convenient, for example:
https://guacamole.apache.org/doc/guacamole-common-js/Guacamole.BlobReader.html
The alternative to doing that would be to assemble and stream the file
server-side by intercepting and handling the instructions that otherwise
would have been sent to the user. This is what we do in the mainline
Guacamole webapp. If you want to go that route, the main things to look
at for intercepting specific instructions is the filtering functionality
provided by guacamole-common:
https://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/FilteredGuacamoleSocket.html
https://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/FilteredGuacamoleReader.html
- Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]