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

218
Vistas
¿Cómo publicar una imagen en mi servidor desde Flutter?

Tengo un pequeño servidor basado en el nodo JS, que se comunica con la base de datos Post Gre SQL, y el servidor funciona en el puerto 5000. Tengo una ruta llamada uploadImage, que carga una imagen en la carpeta /uploads y usa el token Bearer para la autorización. No he creado este servidor en React y no sé cómo usar los encabezados correctamente en http.multiPartRequest para publicar la imagen. El código para publicar la imagen está aquí:

 const express = require('express'); const router = express.Router(); const pool = require("../database"); const config = require('../config/config'); const expressJwt = require('express-jwt'); const jwt = require('jsonwebtoken'); const multer = require('multer'); const moment = require('moment'); var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uploads/') }, filename: function (req, file, cb) { cb(null, moment().unix() + '_' + file.originalname); } }); var upload = multer({ storage: storage }); router.route('/uploadImage').post(expressJwt({ secret: config.serverSecretKey }),upload.array("files"), async function (req, res) { let retVal = { msg: '', logoUrl: ''}; try { if (req.user == null || req.user === undefined) {res.sendStatus(401); return;} if (req.user.accountid == null || req.user.accountid === undefined || !req.user.app) {res.sendStatus(401); return;} let files = req.files; if(files && files.length > 0 ){ retVal.imageUrl = 'http://localhost:5000/uploads/' + files[0].filename; }else { retVal.msg = 'Error'; } res.status(200).json(retVal); }catch(err){ console.log({err}); res.status(401); } });

Mi código de cliente es:

 onTapUploadImage() async { final imagePicker = ImagePicker(); final image = await imagePicker.pickImage(source: ImageSource.gallery); if (image != null) { final File? imageFile = File(image.path); if (imageFile != null) { final SharedPreferences sharedPrefs = await SharedPreferences.getInstance(); final String? token = await sharedPrefs.getString("token"); final httprequest = await http.MultipartRequest('POST', Uri.parse('http://darivoje.ddns.net:5000/app-api/uploadImage')); httprequest.headers.addAll({HttpHeaders.authorizationHeader: 'Bearer $token'}); httprequest.files.add(http.MultipartFile.fromString('picture', imageFile.path)); final postreq = await httprequest.send(); } } else { print('No image selected.'); } }
about 4 years ago · Juan Pablo Isaza
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