我的快速路由器两次处理请求,我也不知道为什么,也导致两次发送电子邮件 我将显示我的前端代码和后端代码
前:没关系,它只发送一次请求
async cargarZip() {
let formData = new FormData();
let zipFile = document.querySelector("#archivoZip");
formData.append("archivoZip", zipFile.files[0]);
await axios.post(
CONSTANTES.URL_RUTA_SERVICIOS + "cargas/cargar-zip",
formData,
{headers: {
Authorization: `Bearer ${localStorage.token}`,
"Content-Type": "multipart/form-data",
},
})
.then(function (response) {
// actions
})
.catch(function () {});
}
返回:由于某种原因,路由器重新处理了请求
cargasResultadosRouter.post('/cargar-zip', mdAutenticacion.verificaToken,
async function (req, res) {
res.header("Content-Type", "application/json; charset=utf-8");
moment.locale('es')
let fecha = moment().format("L").split("/").join("-")
let hora = moment().format('LTS')
let file = req.files.archivoZip
let fileName = file.name.replace(/ /, '_')
console.log(fecha, hora, "cargas/cargar-zip", "Llegó:", fileName);
let dir = './resultadosParaEnviar';
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
console.log(dir, "Creado");
}
let ruta = "/opt/app/ServiciosCliexCovid/OM_ServicioCliexCovid/public/resultadosParaEnviar/"
let rutaArchivoZip = ruta + fecha + " " + fileName
file.mv(rutaArchivoZip, async function (err) {
if (err) {
return res.status(500);
} else {
let rutaArchivoFolder = ruta + fecha + "_" + fileName.split(".")[0];
if (!fs.existsSync(rutaArchivoFolder)) {
fs.mkdirSync(rutaArchivoFolder);
console.log(rutaArchivoFolder, "Creado");
}
await decompress(rutaArchivoZip, rutaArchivoFolder).then(async files => {
await esperarTiempo(100)
console.log(fileName, 'Extraido');
let emails = []
for (const [index, file] of files.entries()) {
await esperarTiempo(100)
let codigo = file.path.match(/(\d+)/);
console.log(index, "Archivo Encontrado:", codigo, "de", files.length);
if (codigo) {
let archivos = []
archivos.push({
filename: file.path,
path: rutaArchivoFolder + '/' + file.path
})
// Get email
let correo = await BD.CargarResultadosDao.CorreoPruebaMolecular(codigo[0])
emails.push({
correo: correo,
archivos: archivos
})
// Sends email
if (correo !== '') {
await enviarCorreoConPruebaMolecular(correo, archivos)
await esperarTiempo(1500)
}
} else {
console.log("NO ENCONTRO:", file.path);
}
}
res.json(emails);
});
}
})
})
function esperarTiempo(tiempo) {
return new Promise((resolve) => {
setTimeout(() => {
resolve("resolved");
}, tiempo);
});
}
LOG说: 24-09-2020 15:33:44 cargas / cargar-zipLlegó:OMNIA_MEDICA 10-09.zip 从: console.log(fecha,hora,“ cargas / cargar-zip”,“Llegó:”,文件名);
2分钟后说: 24-09-2020 15:35:58 cargas / cargar-zipLlegó:OMNIA_MEDICA 10-09.zip 从: console.log(fecha,hora,“ cargas / cargar-zip”,“Llegó:”,文件名);
没有从前面重新发送
我在前面使用Vue,服务器在nginx上