es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible seleccionar varios archivos y guardar los bytes de cada archivo en una lista de objetos y enviarla a un controlador .net webapi.

    Aquí están los pasos principales para lograr esto:

    1. Crea un formulario HTML que permita al usuario seleccionar varios archivos. Puedes utilizar el elemento <input type="file" multiple=""> para habilitar la selección de archivos.
    2. Agrega un “event listener” al elemento de entrada de archivos para capturar los archivos seleccionados.
    3. Utiliza la API FileReader para leer los bytes de cada archivo y guardarlos en un objeto. Puedes recorrer los archivos seleccionados y utilizar el método readAsArrayBuffer() para leer los bytes.
    4. Almacena cada objeto en un array/lista.
    5. Utiliza una solicitud AJAX para enviar el array/lista de objetos al controlador .net webapi.

    Aquí tienes un código de muestra para comenzar:

    <form>
      <input type="file" multiple="" id="fileInput">
      <button type="button" onclick="sendFiles()">Enviar Archivos</button>
    </form>
    
    function sendFiles() {
      const fileInput = document.getElementById("fileInput");
      const files = fileInput.files;
    
      const fileData = [];
    
      for (let i = 0; i < files.length; i++) {
        const file = files[i];
    
        const reader = new FileReader();
        reader.onload = function(event) {
          const fileBytes = event.target.result;
          const fileObject = {
            name: file.name,
            type: file.type,
            size: file.size,
            data: fileBytes
          };
    
          fileData.push(fileObject);
        };
        reader.readAsArrayBuffer(file);
      }
    
      // Utiliza AJAX para enviar fileData al controlador .net webapi
      // Puedes utilizar la API fetch o una biblioteca como jQuery.
    }
    

    En el controlador .net webapi, puedes recibir la lista de objetos de archivo como parámetro y procesarlos según sea necesario.

    ¡Espero que esto te ayude! Avísame si tienes alguna pregunta adicional.

Comments are closed.