Je suis en train d'utiliser une bibliothèque de http://fastcgi.com/ dans une application C++ en tant que backend et le serveur web nginx en tant que frontend.
J'arrive à poster des fichiers à partir d'un formulaire HTML avec succès et je peux voir les fichiers temporaires du côté du serveur nginx. Mais je n'arrive pas à comprendre comment accéder au corps de la requête POST multipart en utilisant fastcgi_stdio. Voici mon formulaire HTML.
Serveur de Test
Mon fichier de configuration nginx :
location /upload {
# Transférer le corps de la requête modifié vers cet emplacement
upload_pass @test;
# Stocker les fichiers dans ce répertoire
# Le répertoire est hashé, les sous-répertoires 0 1 2 3 4 5 6 7 8 9 doivent exister
upload_store /www/test;
# Autoriser les fichiers téléchargés à être lus uniquement par l'utilisateur
upload_store_access user:rw group:r all:r;
# Définir les champs spécifiés dans le corps de la requête
upload_set_form_field $upload_field_name.name $upload_file_name;
upload_set_form_field $upload_field_name.content_type "$upload_content_type";
upload_set_form_field $upload_field_name.path "$upload_tmp_path";
# Informer le backend du hash et de la taille d'un fichier
upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5";
upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size";
upload_pass_form_field "^submit$|^description$";
upload_cleanup 400 404 499 500-505;
}
include fastcgi.conf;
# Transférer le corps de la requête modifié vers un backend
location @test {
fastcgi_pass localhost:8080
}
Maintenant, comment puis-je gérer/récupérer le corps de la requête POST dans mon application C++ fastcgi et comment l'écrire correctement du côté de l'application fastcgi ?
Y a-t-il un meilleur module fastcgi pour y parvenir ?
Merci.