javascript - 用户的个人资料和封面图片在一段时间后消失了
问题描述
在本地运行时,一切都很好,但是当应用程序部署在 Heroku 上时,并且有人注册添加了个人资料图片和封面照片,一段时间后它会为所有用户删除,我不知道为什么。因为当它在本地运行时,一切都很好。您还可以检查应用程序的家伙应用程序。在这里,所以我不知道为什么我已经使用 heroku 一年多了,但这从未发生过
这是主要代码,如果您需要其他任何内容,请告诉我。
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
const middleware = require('./middleware')
const path = require('path')
const bodyParser = require("body-parser")
const mongoose = require("./database");
const session = require("express-session");
const http = require('http');
// const server = require('./server');
const server = app.listen(port, () => console.log("Server listening on port " + port));
const io = require("socket.io")(server, { pingTimeout: 60000 });
app.set("view engine", "pug");
app.set("views", "views");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, "public")));
app.use(session({
secret: "bbq chips",
resave: true,
saveUninitialized: false
}))
// Routes
const loginRoute = require('./routes/loginRoutes');
const registerRoute = require('./routes/registerRoutes');
const logoutRoute = require('./routes/logout');
const postRoute = require('./routes/postRoutes');
const profileRoute = require('./routes/profileRoutes');
const uploadRoute = require('./routes/uploadRoutes');
const searchRoute = require('./routes/searchRoutes');
const messagesRoute = require('./routes/messagesRoutes');
const notificationsRoute = require('./routes/notificationRoutes');
// Api routes
const postsApiRoute = require('./routes/api/posts');
const usersApiRoute = require('./routes/api/users');
const chatsApiRoute = require('./routes/api/chats');
const messagesApiRoute = require('./routes/api/messages');
const notificationsApiRoute = require('./routes/api/notifications');
app.use("/login", loginRoute);
app.use("/register", registerRoute);
app.use("/logout", logoutRoute);
app.use("/posts", middleware.requireLogin, postRoute);
app.use("/profile", middleware.requireLogin, profileRoute);
app.use("/uploads", uploadRoute);
app.use("/search", middleware.requireLogin, searchRoute);
app.use("/messages", middleware.requireLogin, messagesRoute);
app.use("/notifications", middleware.requireLogin, notificationsRoute);
app.use("/api/posts", postsApiRoute);
app.use("/api/users", usersApiRoute);
app.use("/api/chats", chatsApiRoute);
app.use("/api/messages", messagesApiRoute);
app.use("/api/notifications", notificationsApiRoute);
app.get("/", middleware.requireLogin, (req, res, next) => {
var payload = {
pageTitle: "Home",
userLoggedIn: req.session.user,
userLoggedInJs: JSON.stringify(req.session.user),
}
res.status(200).render("home", payload);
})
io.on("connection", socket => {
socket.on("setup", userData => {
socket.join(userData._id);
socket.emit("connected");
})
socket.on("join room", room => socket.join(room));
socket.on("typing", room => socket.in(room).emit("typing"));
socket.on("stop typing", room => socket.in(room).emit("stop typing"));
socket.on("notification received", room => socket.in(room).emit("notification received"));
socket.on("new message", newMessage => {
var chat = newMessage.chat;
if(!chat.users) return console.log("Chat.users not defined");
chat.users.forEach(user => {
if(user._id == newMessage.sender._id) return;
socket.in(user._id).emit("message received", newMessage);
})
});
})
解决方案
Heroku 在一段时间不活动后进入停用模式。发生这种情况时,您的照片将被删除。你应该找另一个地方上传你的照片。
推荐阅读
- angular - 如何在 Angular 6 项目中使用 ng2-currency-mask
- bayesian - BUGS 模型中的错误
- c++ - 我如何初始化 LPVOID
- python - 格式化 csv 数据并将其写入文本文件以进行机器学习
- swift - CCLocation 不断返回零。使用单例
- r - 基于向量过滤数据框的列
- asp.net-core - EntityFrameworkCore.Cosmos 预览 3 - 未找到错误
- python - 使用 matplotlib 绘制线性方程
- java - 超出 Oracle UCP 池连接限制
- python - python通过'变量名称列表'中的str调用变量(concat 100数据帧)