Как се приема едновременно файл и текст от потребител?
Здравейте, сблъсках се с проблем, който не мога да реша от последата лекция и това е да добавя опцията на потребителя да прати файл едновременно с подаването на данни за TODO task.
Знам как да приема файл с multiparty модула, но не знам как едновременно да прочета файла и нужния текст (todo title & todo description), някой може ли да ми даде насоки?
Същия въпрос зададох в stackoverflow, ако искате да го видите там.
https://stackoverflow.com/questions/39894470/how-to-send-and-receive-multipart-data-in-node-js
Ето HTML-a, който ползвам.
http://pastebin.com/W9TVy4An
Всъщност имам else, просто не съм го добавил. Мисълта ми е, че като влезе в този else не знам как да достъпя todoTitle. Мога да сложа проверка if (part.name === 'todoname') и то ще влезе, но от там нататък не знам как да достъпя стойността, която е изпратена.
За mkDirSync си абсолютно прав, мерси за което.
Относно ascii-то, това е съвсен отделна тема, понеже с 'binary' и дори 'utf-8' излиза корумпиран файла. Както е показано, save-ването на файл си работи съвсем точно.
Като влезе в else-a си логни part-a и виж какво съдържа. Предполагам е обект, с който пристига и value-то на field-овете. А относно binary не може да излиза corrupted. Получаваш данни с binary encoding, следователно ги записваш с binary encoding. Eдинствения вариант за омазване е с file extension-ите, които зависят от това какво set-неш като path на fs (първият параметър, който приема при writeFile).
Ами, маняк, първо защо ползваш евентите като не си наясно толкова още с нещата?
Сети ли се да console.log-неш `part`, за да видиш освен `.name` и `.filename` какво още има? То е stream, ясно че ще има доста неща.
Показаните example-и в README-то не ти ли стигат за схващане на логиката? Отделно, хубаво - работи с events/streams, но освен `part` ти се emit-ват и `field` / `file` евентите. Погледни пример как съм го handle-нал тук, който пакет ползва `formidable` което е оригиналния код на `multiparty` (multiparty e fork).
Извинете, ако нещо се засягате. Не хейтя и не спамя, опитвам се да насочвам. :)