GithubHelp home page GithubHelp logo

Comments (5)

kamilmysliwiec avatar kamilmysliwiec commented on April 27, 2024 9

Adding a mention in the docs sounds valuable

from nest.

samchon avatar samchon commented on April 27, 2024 6

I'd tried to make concise @UploadFile() similar decorator supports both express and fastify, and understood why @kamilmysliwiec and @jmcdo29 had configured of @UploadFile() to just utilize the full Buffer data as default. To perform streaming, have to configure storage engine of multer, but it was not easy to determine which option to adjust as default.

On the other hand, fastify's multipart/form-data was much easier to handle. This is because streaming could be used right away without any additional settings. Therefore, I had developed @TypedFormData.Body() to utillize the full data Buffer to compatible with both express and fastify, and planning to apply memory storage to the multer side by referring to fastify's options.

Anyway, after I completed this @TypedFormData.Body() and studied it thoroughly through various experiments, I will contribute to Nest Document. The next PR may be the next month.

from nest.

jmcdo29 avatar jmcdo29 commented on April 27, 2024 4

The thing is, it can accept Readable as you mentioned, with the right configuration. While it may be a better solution, in terms of memory management, it's also a more advanced solution in terms of Node API knowledge as not everyone is well versed with streams, and it's a breaking change at the moment. We'd have to make sure to update the docs to show how the stream could be worked with, and probably be ready to answer many, many more questions on how to use the newer approach, which would inevitably be sent to Discord or StackOverflow and answered there.

While I do think that better memory management is a good thing, there is a balance to be kept between efficient and ergonomic API for developers.

from nest.

jmcdo29 avatar jmcdo29 commented on April 27, 2024 4

Perhaps we can make a mention in the docs and the default of buffer and how to use streams if that is the desired approach and why you might want to do that

from nest.

samchon avatar samchon commented on April 27, 2024

If hope to avoid breaking change, I think NestJS guide document must warn the memory problem, and give an example code converting to the streaming strategy.

from nest.

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.