JumpKick.HttpLib — Téléversement de fichiers Upload
Présentation
Le téléversement de fichier utilise Http.Post() associé à .Upload(), au format multipart/form‑data pour envoyer des fichiers locaux ;
Classe principale : NamedFileStream(champ formulaire, nom du fichier, type MIME, flux du fichier)
L’adresse de démonstration officielle
https://jthorne.co.uk/httplibne fonctionne pas pour les tests réels. Utilisez cette adresse de remplacement :https://httpbin.org/post
Constructeur
new NamedFileStream(
string fieldName, // Clé formulaire côté serveur pour recevoir le fichier
string fileName, // Nom transmis au serveur
string contentType, // Type MIME du fichier
Stream stream // Flux de lecture du fichier File.OpenRead(chemin fichier)
)Langage du code : JavaScript (javascript)
Téléversement d’un seul fichier
using System;
using System.IO;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Upload(files: new[]
{
new NamedFileStream(
"myfile",
"photo.png",
"image/png",
File.OpenRead(@"C:\Users\Jack\Pictures\clipboard.png")
)
})
.OnSuccess(result =>
{
Console.WriteLine("==== Téléversement réussi ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Erreur au téléversement ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Langage du code : JavaScript (javascript)
Suivi de progression onProgressChanged
Affiche en temps réel le pourcentage d’avancement
using System;
using System.IO;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Upload(
files: new[]
{
new NamedFileStream(
"myfile",
"photo.png",
"image/png",
File.OpenRead(@"C:\Users\86186\Pictures\clipboard.png")
)
},
onProgressChanged: (bytesSent, totalBytes) =>
{
double percent = (double)bytesSent / totalBytes * 100;
Console.WriteLine($"Téléversement en cours : {percent:F2} %");
}
)
.OnSuccess(result =>
{
Console.WriteLine("\n==== Téléversement terminé ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Erreur au téléversement ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Langage du code : JavaScript (javascript)
Téléversement de plusieurs fichiers
Ajoutez plusieurs objets NamedFileStream dans le tableau
using System;
using System.IO;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Upload(files: new[]
{
new NamedFileStream("file1", "1.png", "image/png", File.OpenRead(@"D:\1.png")),
new NamedFileStream("file2", "2.jpg", "image/jpeg", File.OpenRead(@"D:\2.jpg"))
})
.OnSuccess(result =>
{
Console.WriteLine("==== Téléversement multiple réussi ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Erreur au téléversement ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Langage du code : JavaScript (javascript)
Cas d’erreur
Indiquez un chemin de fichier inexistant pour déclencher une exception et tester la gestion OnFail
using System;
using System.IO;
using JumpKick.HttpLib;
class Program
{
static void Main(string[] args)
{
Http.Post("https://httpbin.org/post")
.Upload(files: new[]
{
new NamedFileStream(
"myfile",
"notfound.png",
"image/png",
File.OpenRead(@"D:\fichier_inexistant.png") // chemin invalide
)
})
.OnSuccess(result =>
{
Console.WriteLine("==== Téléversement réussi ====");
Console.WriteLine(result);
})
.OnFail(webexception =>
{
Console.WriteLine("==== Exception interceptée (fichier introuvable) ====");
Console.WriteLine(webexception.Message);
})
.Go();
Console.ReadKey();
}
}Langage du code : JavaScript (javascript)
Téléversement de fichiers Upload
Previous: Requêtes POST