Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

618
Vistas
Axios POST request giving error 405 (Method Not Allowed) with NodeJs?

I am using a post request in Node.js to post an image using Axios post request, API is working fine is Postman and giving response but not working with front-end interface in browser

PS: I am using var cors = require("cors"); app.use(cors());

{message: 'Request failed with status code 405', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: XMLHttpRequest, …}

Nodejs:

const client = new vision.ImageAnnotatorClient(config, clientOptions);
 

app.post("/images", upload.single("file"), function (req, res, next) {
  // Website you wish to allow to connect
  res.setHeader("Access-Control-Allow-Origin", "*");

  // Request methods you wish to allow
  res.setHeader(
    "Access-Control-Allow-Methods",
    "GET, POST, OPTIONS, PUT, PATCH, DELETE"
  );

  // Request headers you wish to allow
  res.setHeader(
    "Access-Control-Allow-Headers",
    "X-Requested-With,content-type"
  );

  client
    .textDetection(req.file.path)
    .then((results) => {
      res.send(results);
    })
    .catch((err) => {
      res.status(400).send(err);
    });
});

app.use(serveStatic(path.join(__dirname, "public")));
const server = app.listen(port);
console.log(`${pjson.name} running => port ${server.address().port}`); 

HTML

   <form role="form" class="form" onsubmit="return false;">
        <div class="form-group">
            <label for="file">File</label>
            <input id="file" type="file" class="form-control" accept=".JPG,.jpg,.jpeg,.gif,.png" />
        </div>
        <button id="text_detect" type="button" class="btn btn-primary">
            Get Text
        </button>
    </form>

    document.getElementById('text_detect').onclick = function () {
        output.innerHTML = '';
        const data = new FormData();
        data.append('file', document.getElementById('file').files[0]);
        axios.post('/images', data, { headers: { 'Content-Type': 'multipart/form-data' } }).then(
            function (result) {
                const properties = result.data[0].fullTextAnnotation; 
                console.log(properties); 
            }
        )
            .catch(function (err) {
                console.log(err);
            })
    } 
about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda