Blueimp jQuery Upload de Archivos Integrado con Asp.Net

Estoy tratando de usar jquery blueimp cargar múltiples archivos con Asp.Net.
Después de dos días de intentos fallidos, me decidí a preguntar tal vez alguien va a compartir el ejemplo de trabajo.

Le estaría muy agradecido.

  • De los que no puedo hacer que la barra de progreso de trabajo.
InformationsquelleAutor user2357824 | 2013-05-07

1 Kommentar

  1. 4

    Puede utilizar exactamente la misma demo de archivos, sin tener que usar eso .NET ejemplo relacionado en un anterior comentario. Cambiar la forma de enlace de acción para que apunte a un controlador.ashx archivo que se crea.

    Así, en la forma en index.html, añadir la url a la que el controlador se ha creado como la acción:

    <form id="fileupload" action="GongosHandler.ashx" method="POST" enctype="multipart/form-data">

    A continuación, hacer un controlador básico codificadas como las siguientes:

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";//"application/json";
        var r = new System.Collections.Generic.List<ViewDataUploadFilesResult>();
    
    
        for (var x = 0; x < context.Request.Files.Count; x++)
        {
            HttpPostedFile hpf = context.Request.Files[x] as HttpPostedFile;
            string FileName = string.Empty;
            if (HttpContext.Current.Request.Browser.Browser.ToUpper() == "IE")
            {
                string[] files = hpf.FileName.Split(new char[] { '\\' });
                FileName = files[files.Length - 1];
            }
            else
            {
                FileName = hpf.FileName;
            }
            if (hpf.ContentLength == 0)
                continue;
            string savedFileName = context.Server.MapPath("~/Uploads/" + FileName);
            try
            {
                hpf.SaveAs(savedFileName);
            }
            catch (Exception ex)
            {
    
            }
    
    
            r.Add(new ViewDataUploadFilesResult()
            {
                thumbnailUrl = savedFileName,
                name = FileName,
                length = hpf.ContentLength,
                type = hpf.ContentType,
                url =  string.Format("/Uploads/{0}", FileName),
                deleteUrl =  string.Format("/Uploads/{0}", FileName) 
            });
            var uploadedFiles = new
            {
                files = r.ToArray()
            };
    
            //was returning a new json string everytime, so then duplicating if 
            //sending multiple files. Example, file 1 was in first position,
            //then file 1 & 2 in second position, and so on. So, I only grab,
            //the last JSON instance to get all files.
            if (x  == (context.Request.Files.Count - 1))
            {
                var jsonObj = JsonConvert.SerializeObject(uploadedFiles, Formatting.Indented);
                string jsonHttpOutputStream = jsonObj.ToString();
    
                context.Response.Write(jsonHttpOutputStream);
            }
        }
    
    }
    
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

    }

    public class ViewDataUploadFilesResult
    {
        public string thumbnailUrl { get; set; }
        public string name { get; set; }
        public int length { get; set; }
        public string type { get; set; }
        public string url { get; set; }
        public string deleteUrl { get; set; }
    }

    Y en un nivel básico, que va a representar y trabajar. Entonces, usted tiene que ajustar algunos de los códigos de aquí y de allí, para conseguir que funcione como quieras. Este controlador sin embargo, es todo lo que usted necesita para procesar la carga correctamente. Buena suerte!

    • ¿alguien puede proporcionar un ejemplo en este
    • he intentado esto, no trabaja para mí. si me quedo la cosa por separado y tiene un controlador de ejecución de vs me sale el error: SyntaxError: testigo Inesperado <, si me quedo toda la cosa, en vs (incluyendo todos los archivos html, etc) me sale el error: Método No Permitido
    • Aquí es un buen MVC5 ejemplo: github.com/CodeHeight/jQuery-File-Upload.MVC5

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea