Недавно я начал разрабатывать Pinterest-ish web с нодами, реагированием и сеткой для изучения веб-разработки. Я успешно получил одно изображение и отобразил его на стороне клиента. Но я не могу тянуть несколько изображений. При доступе к локальному серверу загрузка изображения, кажется, останавливается посередине.
Я исследовал несколько похожих постов. Однако я не смог найти ответ, который мне нужен, чтобы получить все изображения из MongoDB для отображения в приложении React. Я ценю, что вы даете мне решение. Заранее спасибо.
узел
router.get("/getall", (req, res) => {
gfs.files.find().toArray((err, files) => {
files.map(file => {
console.log(file.filename);
const readStream = gfs.createReadStream(file.filename);
readStream.pipe(res);
readStream.on("end", () => {
console.log("file sent");
});
});
});
});
реагируют
const getImages = async e => {
e.preventDefault();
try {
const res = await axios("/api/getall", { responseType: "blob" });
console.log(res);
res.map(image => {
const blobURL = URL.createObjectURL(image.data);
setReceivedImgState({ imageData: blobURL });
console.log(blobURL);
});
} catch (err) {
console.error(err.message);
}
};
получить все изображения и отобразить их на клиенте