Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to download remote folder (recursive) #323

Closed
D4V3M0NK opened this issue Jun 24, 2019 · 16 comments
Closed

Ability to download remote folder (recursive) #323

D4V3M0NK opened this issue Jun 24, 2019 · 16 comments
Assignees

Comments

@D4V3M0NK
Copy link

It would be really useful if one could select a remote folder (and therefore it's sub-folders) and then download it's entire content.

@Ylianst Ylianst changed the title FEATURE REQUEST : Ability to download remote folder (recursive) Ability to download remote folder (recursive) Jun 25, 2019
@Ylianst
Copy link
Owner

Ylianst commented Jun 25, 2019

This is one for Bryan. It's been requested before, the MeshAgent would "tar" the selected files/folders and send that over as a single file. It's not really possible with browsers to download many files/folders, but using tar seems like the best way.

@PathfinderNetworks
Copy link

zip would be better, at least for us Windows users. ;-)

@Ylianst
Copy link
Owner

Ylianst commented Jun 27, 2019

That is a good point. I wonder if a store-only zip would be simple for the agent to generate? One point here, the file must be generated "on-the-fly" (streaming) as the agent will read the files/folders one-by-one and send then to the browser as it goes.

@krayon007
Copy link
Collaborator

I remember looking into this before. I couldn't find anything built in. The closest I found was that if the machine had 7-zip installed, it supports pipe redirection, among other things, so that you could compress on the fly.

@MailYouLater
Copy link
Contributor

MailYouLater commented Sep 24, 2019

Have you looked at the node-7z-forall package on NPM? It downloads 7-Zip binaries that don't need to be 'installed' for whatever platform (win/mac/linux) you're on, which might be useful if you do decide to use 7-Zip's streaming archive creation.

@fra-pel
Copy link

fra-pel commented Sep 25, 2019

the download button in "file transfer" is also missing.

@MailYouLater
Copy link
Contributor

@callimmak: That's because (currently) the way to download a file is to click on its name.

@krayon007
Copy link
Collaborator

I'm writing a streaming tar encoder on the agent, so we can dynamically tar and stream stuff from the agent to the server/browser.

@MailYouLater
Copy link
Contributor

As PathfinderNetworks says above. .zip would be nice for Windows users, as Windows doesn't have a way to open .tar files built in.
Also, if you were to use 7-Zip, it would be just as easy to add streaming .zip and .7z as .tar, and optionally compress the contents too.

@MailYouLater
Copy link
Contributor

@krayon007: You say you're writing a streaming tar encoder. What language are you writing it in? i.e. Will it be included as part of the MeshAgent binary? or part of the 'core' which is written in JavaScript? If JS, you might want to look at www.archiverjs.com to see if you can use it directly, or how much, if any of it could be useful in helping you write your own.

@krayon007
Copy link
Collaborator

I already finished it. It's written in JS. It was pretty simple. Ylian has the bigger task of integrating it into the webux, lol. But integrating it into the core is super easy, as it exposes a readable stream, that you can than pipe to any writable stream, like a websocket stream, file stream, etc.

@krayon007
Copy link
Collaborator

At some point Ylian can look into writing a module server side to transcode tar to zip, as I'm trying to avoid 3rd party dependencies on the agent side that aren't installed by default.

@MailYouLater
Copy link
Contributor

UZIP.js demonstrates that creating a zip can be a very small, simple bit of JavaScript too. Perhaps you could use it, or do something similar?

@dinger1986
Copy link
Contributor

works by selecting a folder then zipping it and then downloading that zip @si458

@si458
Copy link
Collaborator

si458 commented Nov 12, 2023

yes will close this as to download a whole folder in a browser is silly where as as suggested/implemented
select folder/files then use the zip and download the zip file

@si458 si458 closed this as completed Nov 12, 2023
@dinger1986
Copy link
Contributor

maybe a docs one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants