Uploader un fichier vers JIRA REST API avec PHP cUrl
- Accueil
- Forum
- Programmation
- PHP
- Uploader un fichier vers JIRA REST API avec PHP cUrl
Tydoo Le 31 octobre 2018 à 16:55 (Édité le 25 janvier 2019 à 17:54)
je développe un script sur l'api de JIRA
je souhaites uploader un fichier via son api rest et je n'ay arrive pas
voici mon code
$ch_api = curl_init('https://website.com/rest/api/2/issue/SI-10255/attachments');
curl_setopt($ch_api, CURLOPT_POST, true);
curl_setopt($ch_api, CURLOPT_POSTFIELDS, json_encode(["file" => "@t.txt"]));
curl_setopt($ch_api, CURLOPT_HTTPHEADER, array('Content-Type:multipart/form-data','X-Atlassian-Token:no-check'));
curl_setopt($ch, CURLOPT_USERPWD, "login:password");
curl_setopt($ch_api, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch_api);
curl_close($ch_api);
Quand j execute le code, j'ai cette error :
the request was rejected because no multipart boundary was found
Et quand j'ajoute un boundary, le fichier n'est pas uploader et l'api me reponds pas un array vide
Des idées ?
Thanks
Tydoo Le 4 novembre 2018 à 12:41 (Édité le 1 janvier 1970 à 01:00)
J'ai trouvé la solution :
- Ne pas utiliser le header "Content-Type:multipart/form-data"
- Utiliser ce code pour le fichier :
if (function_exists('curl_file_create')) {
$cFile = curl_file_create("file.txt");
} else {
$cFile = '@' . realpath("file.txt");
}
Clouder Le 2 novembre 2018 à 20:51 (Édité le 1 janvier 1970 à 01:00)
Tu aurais le code de ton formulaire en HTML en plus ?
Car j'ai l'impression qu'il ne trouve pas le multipart dans le formulaire :
<form method="post" enctype="multipart/form-data">
...
</form>
Tydoo Le 4 novembre 2018 à 12:41 (Édité le 1 janvier 1970 à 01:00)
J'ai trouvé la solution :
- Ne pas utiliser le header "Content-Type:multipart/form-data"
- Utiliser ce code pour le fichier :
if (function_exists('curl_file_create')) {
$cFile = curl_file_create("file.txt");
} else {
$cFile = '@' . realpath("file.txt");
}
Profil introuvable Le 4 novembre 2018 à 17:46 (Édité le 1 janvier 1970 à 01:00)