Я создаю веб-сайт, и мне нужно отобразить описание каждого project
. Итак, я начал с простого TEXT () в поле DB, но на выходе получился полный текст блока ... Затем я заменил TEXT () на BLOB () в моей базе данных с description.txt, но неожиданно текст тоже не форматируется, он все еще как текстовый блок. После этого измените description.txt на описание. html (с правильным), и вывод будет читаться как .text: / (я имею в виду, что это не читается как файл html). Вот мой NodeJS код:
router.get("/:idProject/description", (req, res) => {
const { idProject } = req.params;
const sql = "SELECT p.description FROM project AS p WHERE id = ? ";
connection.query(sql, [idProject], (err, result) => {
if (err) {
res.status(500).send("Impossible de trouver le projet");
} else {
const convertBufferToString = Buffer.from(result[0].description);
res.status(200).send(convertBufferToString);
}
});
});
И мой ReactJS код:
function Description({ projectName, url }) {
const { id } = useParams();
const [description, SetDescription] = useState(null);
const getDescription = (idProject) => {
const projectURL = `${process.env.REACT_APP_HOST}/projects/${idProject}/description`;
Axios.get(projectURL)
.then((response) => response.data)
.then((data) => SetDescription(data));
};
useEffect(() => {
getDescription(id);
}, [id]);
return (
<React.Fragment>
<Typography variant="h3">{projectName}</Typography>
<Typography paragraph variant="body1">
</Typography>
<Link href={url}> Lien du site</Link>
{description ? description : "Description du projet"}
</React.Fragment>
);
}
export default Description
Я пробовал много вещей, например, новый BLob, новый файл, новый FileReader и т. Д. c но я не знаю, как решить эту проблему. Итак, мой вопрос: если это возможно, как я могу прочитать res.send (BLOB или Buffer) как HTML в ReactJS pls? Вместо этого любое предложение получить отформатированное описание с помощью project.id?
Заранее большое спасибо!