- Tu encodes le fichier en Base64, puis :
- Trois possibilités :
-- Passer le résultat comme paramètre de l'URL :
http://machin.fr/upload?b64data=ICAgICogRGVjb2RlIGJhc2U2NCBzdHJpbmdzIChiYXNlNjQgc3RyaW5nIGxvb2tzIGxpa2UgWVRN
Et tu pries pour que le serveur accepte des requêtes aussi longues, ce qui n'est sûrement pas le cas.
-- Passer le résultat dans les headers HTTP, et coder côté serveur pour lire ces headers.
Prier pour que le serveur en accepte autant.
1 2 3 4
| GET /upload HTTP/1.1
Host: machin.fr
X-UP-DATA-1: ICAgICogRGVjb2RlIGJhc2U2NCBzdHJpbmdzIChiYXNlNjQgc3RyaW5nIGxvb2tzIGxpa2UgWVRN
X-UP-DATA-2: ME5ab21JekkyT1RzbUl6TTBOVHVlWVE9PSkNCiAgICAqIERlY29kZSBhIGJhc2U2NCBlbmNvZGVk |
-- L'un des deux précédents, mais en découpant le fichier pour l'envoyer en plusieurs requêtes de 512 octets chacune, par exemple.
- Bien sûr, le plus simple est de virer le serveur qui refuse de faire du POST alors que c'est l'un de ses pré-requis.
Partager