0

Après une recherche plus poussée, je vois que comme la bibliothèque de super agent vous donne un outil pour envoyer une image mais l'API semble exiger le chemin de l'image qui n'est pas possible d'obtenir du navigateur ce que je comprends? c'est-à-dire .attach (nom, [chemin], [nomfichier]) existe-t-il un moyen de résoudre ce que je veux obtenir en utilisant du JavaScript pur dans npm env à partir de la sélection d'une image du fichier téléchargé dans le navigateur.Comment télécharger une image à partir du navigateur en utilisant le type d'entrée comme fichier sur le serveur avec les données json en utilisant javascript?

Mon backend python nécessite également un en-tête de requête {encodage de transfert de contenu: "base64" lorsque le type de contenu est image/png} et que d'autres données soient au format JSON. Tous ceux qui ont travaillé avec les modules NPM et qui ont une bonne idée du module à utiliser pour cette tâche, n'hésitez pas à partager votre idée.

Merci pour votre aide!

Répondre

1

Il a fallu quelques heures pour comprendre cela. J'espère que cela servira de guide pour quelqu'un qui a besoin de publier une image avec des métadonnées sur le serveur principal avec différents types de contenu dans le navigateur.

export const addBanner = (ctid, token, base64, kwargs) => { 
let clientTypeId = ctid; 
const URL-ENDPOINT = 'URL-address'; 
request({method: "POST", 
uri: URL-ENDPOINT, 
withCredentials: false, 
multipart: [ 
    { 
    "Content-Disposition": "attachment", 
    "Content-Type": "application/json", 
    "body" : JSON.stringify({ 
     key-name1: '', 
     key-name2: ''}) 
    },{ 
    'Content-Type': "image/png", 
    "content-transfer-encoding": "base64", 
    "Content-Disposition": `attachment ; name = ${banner.name}`, 
    "body": base64 
    }], function(error, response, body){ 
    if (response.statusCode == 200){ 
     console.log("sucess") 
    }else{ 
     console.log('error', error, response,body) 
    } 
    } 
}) 
}