Files
cargaMasiva_front/src/components/cargaArchivo.tsx
T
2025-06-13 10:52:27 -06:00

51 lines
1.1 KiB
TypeScript

"use client";
import React, { useState } from "react";
const CargaArchivo: React.FC = () => {
const [archivo, setArchivo] = useState<File | null>(null);
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
if (file) setArchivo(file);
};
const handleUpload = async () => {
if (!archivo) return;
const formData = new FormData();
formData.append("archivo", archivo);
const res = await fetch("/api/cargar-archivo", {
method: "POST",
body: formData,
});
if (res.ok) {
alert("Archivo subido correctamente");
setArchivo(null);
} else {
alert("Error al subir archivo");
}
};
return (
<div className="w-full">
<input
type="file"
accept=".xls,.xlsx"
onChange={handleChange}
className="mb-4 block text-sm"
/>
<button
onClick={handleUpload}
disabled={!archivo}
className="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"
>
Subir archivo
</button>
</div>
);
};
export default CargaArchivo;