Giter VIP home page Giter VIP logo

Comments (10)

mscdex avatar mscdex commented on June 26, 2024

Yeah it appears so. Welcome to FTP. :-)

from node-ftp.

jescalan avatar jescalan commented on June 26, 2024

ah bitches. this is the worst. i don't even know if i can keep writing this script if that's really the case... ugh.

from node-ftp.

mscdex avatar mscdex commented on June 26, 2024

Basically your only options are:

  • Record cwd, split path on '/', loop over each level doing a mkdir and then change to the next dir, and when finished change back to originally recorded cwd
  • Use SSH/SFTP for greater flexibility

from node-ftp.

mscdex avatar mscdex commented on June 26, 2024

Alright, so I decided to add a fairly simple algorithm to do this mkdir -p-style of directory creation in 1f32e8e. It hides behind an optional recursive parameter.

Example:

ftp.mkdir('/some/path', true, function(err) {});

from node-ftp.

jescalan avatar jescalan commented on June 26, 2024

Ahh you're the best! Thanks so much, this is a life saver : )

from node-ftp.

skyless avatar skyless commented on June 26, 2024

About your recursive algo, I encountered a error with multiple concurrent mkdir commands with same path : sometimes (not always) the last one throw "[Error: Create directory operation failed.] code: 550".

I don't know if this lib can do something about it to prevent such an error because it seems to come from FTP protocols itself...

from node-ftp.

mscdex avatar mscdex commented on June 26, 2024

"Multiple concurrent mkdir commands with same path"

Do you mean you're connected with more than one ftp client and performing the same mkdir operation on each at the same time? Otherwise if it's the same connection, commands are queued so that would not be a problem.

from node-ftp.

skyless avatar skyless commented on June 26, 2024

Yes, I do parallel operations (each instance got his own ftp client indeed). Unfortunately, a singleton with a single connection is useless in my case because I have multiple instance and the problem can still happened. Either I do a series (but the problem remains with multiple instances) or I fix by checking the possibility to CWD (!cwd then mkdir then cwd, then put) and some magic happens miraculously. =)

from node-ftp.

mscdex avatar mscdex commented on June 26, 2024

Yeah it can get tricky when you have simultaneous access from multiple clients like that. I'm not sure what else this module can do to help with this kind of situation. I'm open to pull requests to improve the recursive mkdir functionality.

from node-ftp.

kenichi-shibata avatar kenichi-shibata commented on June 26, 2024

Any updates for this?

from node-ftp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.