Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!