Carga de archivos Upload

JumpKick.HttpLib — Carga de archivos Upload

Descripción

La carga de archivos se realiza mediante Http.Post() + .Upload(), usando el formato multipart/form‑data para enviar archivos locales ;
Clase principal:NamedFileStream(nombre campo formulario, nombre archivo, tipo MIME, flujo de archivo)

La dirección de ejemplo oficial https://jthorne.co.uk/httplib no sirve para pruebas reales. Usa esta dirección alternativa:https://httpbin.org/post

Constructor

new NamedFileStream(
    string fieldName,       // Clave del formulario que recibe el backend
    string fileName,        // Nombre que se envía al servidor
    string contentType,     // Tipo MIME del archivo
    Stream stream           // Flujo de lectura File.OpenRead(ruta del archivo)
)Lenguaje del código: JavaScript (javascript)

Carga de un solo archivo

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("==== Carga completada con éxito ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== Error en la carga ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Lenguaje del código: JavaScript (javascript)

Seguimiento de progreso onProgressChanged

Muestra el porcentaje de carga en tiempo real

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($"Subiendo archivo: {percent:F2} %");
            }
        )
        .OnSuccess(result =>
        {
            Console.WriteLine("\n==== Carga finalizada ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== Error en la carga ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Lenguaje del código: JavaScript (javascript)

Carga de varios archivos a la vez

Añade múltiples instancias de NamedFileStream dentro del array

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("==== Carga múltiple exitosa ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== Error en la carga ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Lenguaje del código: JavaScript (javascript)

Caso de error

Usa una ruta de archivo inexistente para provocar una excepción y comprobar la captura con 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:\archivo_inexistente.png") // ruta incorrecta
            )
        })
        .OnSuccess(result =>
        {
            Console.WriteLine("==== Carga completada con éxito ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== Excepción capturada (archivo no encontrado) ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Lenguaje del código: JavaScript (javascript)

Carga de archivos Upload

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *