Опитвам се да работя с двоични файлове, използвайки Node.js.
Опитвам се да получа двоичен файл от клиента, отворя двоичния файл, преобразувам в шестнадесетичен, замествам данните и връщам новия двоичен файл на клиента.
app.use('/read-binary-file',(req,res) => {
try {
let content = fs.readFileSync(file_path);
console.log('content', content)
res.status(200).send({content})
}
catch(err) {
console.error(err);
}
})
Написах код, който взема съществуващ файл и се опитва да го прочете. Когато го отпечатам, получавам това в буфера:
content <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... >
Не съм сигурен как да го конвертирам в шестнадесетичен и след това да опитам да го променя... Когато чета файла чрез онлайн шестнадесетичен редактор, получавам ги в 16 бита всеки ред и този начин е много удобен.
Имам няколко въпроса:
- Как мога да конвертирам от двоичен в шестнадесетичен?
- Как мога да заменя данни в шестнадесетичен файл и след това да се върна на клиента?
- Как мога да ги покажа в код като 16 бита?
- Какъв е най-добрият начин да ги съхранявате в база данни? Да съхраня файла и след това в базата данни да съхраня само пътя?
Има ли някаква документация, която може да помогне?