-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
After digging through the source code of the package I found some tests that used exactly the approach that I needed by using the undocumented call busboy.write(request.body, function() {}); where I can pass-in the body data that we already have available in the Azure Function. This brought me to the following code. I log information about all the fields that we find, and I write, as a test, the files to disk in a temp folder to check if the server can process binary files correctly. When you run this same code in a Netlify function everything seems to work, but you will get crippled files!
I started out with Netlify as the platform of choice for my solution because it is simple and free. After a lot of trials and (always) errors I stumbled upon a discussion thread that made clear that the (crippled) implementation on Netlify functions does not support posting of binary data. The underlying AWS Lambdas do have support, but this support is not enabled for Netlify. Another hugely annoying thing of Netlify functions is that there is no information on how to debug Netlify functions with VSCode. You only see ramblings like this discussion thread on the topic, and some pointer in the right direction in this discussion thread. This should be part of the documentation! Debugging using console.log() is so... 90's.