Reputation: 901
I can get Images locally when the server is running on my laptop. But I cant get images from the deployed server. The code of index.js:
require("dotenv").config();
const upload = require("./routes/upload");
const Grid = require("gridfs-stream");
const mongoose = require("mongoose");
const connection = require("./db");
const express = require("express");
const app = express();
let gfs;
connection();
const conn = mongoose.connection;
conn.once("open", function () {
gfs = Grid(conn.db, mongoose.mongo);
gfs.collection("photos");
});
app.use("/file", upload);
// media routes
app.get("/file/:filename", async (req, res) => {
try {
const file = await gfs.files.findOne({ filename: req.params.filename });
const readStream = gfs.createReadStream(file.filename);
readStream.pipe(res);
} catch (error) {
res.send("not found");
}
});
app.delete("/file/:filename", async (req, res) => {
try {
await gfs.files.deleteOne({ filename: req.params.filename });
res.send("success");
} catch (error) {
console.log(error);
res.send("An error occured.");
}
});
const port = process.env.PORT || 8080;
app.listen(port, console.log(`Listening on port ${port}...`));
I've tried deploying on cyclic also. But everything were in vain
Upvotes: 2
Views: 151