2017-07-18 3 views
0

J'ai cette chaîne base64 qui représente une image que je dois envoyer au serveur. Toutes les requêtes ajax ajoutent simplement les données à la chaîne de requête à envoyer au serveur via l'URL et une chaîne de requête/type d'URL a une limite de 2 000 caractères. Eh bien, ma chaîne de base64 est d'environ 97 000 caractères alors comment puis-je obtenir cette chose sur le serveur? POST - ceci utiliserait l'URL et limiterait à 2000 caractères ... non? GET - même que la poste ... non?envoyer du côté client à google apps script (serveur) base64 chaîne

que pouvais-je faire d'autre? Convertir en un blob? que feriez-vous si vous saviez ce que vous étiez en train de faire .. parce que je ne lol

merci pour votre temps!

Répondre

0

Je préfère utiliser l'objet FormData, c'est assez simple, vous pouvez trouver le tutoriel propre et lisse here.

+0

de ce que je voyais, cette stratégie « sérialise » les données (convertit à partir des données de formulaire à une chaîne de paires de clés de valeur pour l'URL) dans une chaîne de requête, qui fait partie de l'url qui est le problème - je ne peux pas demander une URL de 90 000 caractères. Ou ai-je totalement tort –

0

Utilisez JSON pour afficher les données:

fetch('url', { 
 
    method: 'post' 
 
    headers: new Headers({'Content-Type': 'application/json'}), 
 
    body: JSON.stringify({'payload': 'base64str'}) 
 
})

+0

J'ai eu cette erreur 'Réponse à la demande de contrôle en amont ne passe pas contrôle d'accès vérifier: Aucun en-tête 'Access-Control-Allow-Origin' est présent sur la ressource demandée. L'origine 'null' n'est donc pas autorisée. La réponse avait le code d'état HTTP 405. Si une réponse opaque répond à vos besoins, définissez le mode de la demande sur 'no-cors' pour récupérer la ressource avec CORS désactivé. ' –

+0

Je serais prêt à désactiver CORS, Je cherche maintenant à trouver comment faire cela –

+0

@CotyEmbry vous devez utiliser le init {mode: 'cors'}. Du côté du serveur, cela dépend du backend que vous utilisez, mais vous devez activer les cors pour les domaines et autoriser les en-têtes 'Content-Type' et 'Access-Control-Allow-Origin'. – T4rk1n