PageSourceSearch

https://extranet.fraternidad.com/Fraternidad.Extranet.AE.Web/comun/js/Controles/FichUpload.js

js fraternidad.com collected 2026-10-03 20:29:22 UTC 5,853 bytes, 136 lines download raw bytes

1// Validar el nombre del fichero, comprobar que no contiene caracteres no permitidos
2// Comprobar que la extensión del fichero no es EXE
3function OnClientValidarFileUploading(sender, args) {
4    var fileName = args.get_fileName();
5    var extensionesPermitidas = sender.get_allowedFileExtensions();
6
7    var numeroExtensiones = tieneVariasExtensiones(fileName);
8    switch (numeroExtensiones) {
9        case 0: // No tiene extensión
10            args.fileName = ""; 
11            args.set_cancel(true);
12            alert('El fichero no tiene extensión.');
13            break;
14        case 1: // Tiene una extensión 
15            if (!isFichNameValid(fileName)) {
16                var $row = $(args.get_row());
17                var errorMessage = "El nombre del fichero contiene caracteres no permitidos. ~¨`!ÑñáéíóúüÁÉÍÓÚÜ´``^¨'·ç@#$%\^&*+=\[\]\\';,/{}|\\:<>\?¿";
18                var span = mostrarError(errorMessage);
19                $row.addClass('ruError');
20                $row.append(span);
21                args.set_cancel(true);
22                //alert("El nombre del fichero contiene caracteres no permitidos. ~¨`!ÑñáéíóúüÁÉÍÓÚÜç#$%\^&*+=\[\]\\';,./{}|\\:<>\?¿ \n" +
23                //    "Modifique el nombre del fichero.");
24            }
25            break;
26            // Comprobar que la extensión está permitida
27            //var fileExtention = fileName.substring(args.get_fileName().lastIndexOf('.') + 1, fileName.length);
28            //if (!isExtensionFichValid(extensionesPermitidas.toLowerCase(), fileExtention.toLowerCase())) {
29            //    //args.set_cancel(true);
30            //    alert("La extensión del fichero no está permitida.");
31            //}
32            
33        case 2: // Tiene más de una extensión
34            var $row = $(args.get_row());
35            var errorMessage = "El fichero solo puede tener una extensión.";
36            var span = mostrarError(errorMessage);
37            $row.addClass('ruError');
38            $row.append(span);
39            args.set_cancel(true);
40            break;
41    }
42}
43
44function mostrarError(errorMessage) {
45    var input = '<span class="ruErrorMessage">' + errorMessage + ' </span>';
46
47    return input;
48}
49
50// Comprobar si el fichero tiene más de una extensión
51function tieneVariasExtensiones(str) {
52    var count = (str.match(/\./g) || []).length;
53    if (count == 0) {
54        return 0; // No tiene extensión
55    } else if (count == 1) {
56        return 1; // Solo tiene una extensión
57    } else if (count > 1) {
58        return 2; // Tiene más de una extensión
59    }
60}
61
62// Comprobar que el nombre del fichero no contiene caracteres raros que ajax transforma y que impiden que se pueda cargar el fichero en el servidor
63function isFichNameValid(str) {
64    return !/[~¨`!ÑñáéíóúüÁÉÍÓÚÜ´``^¨'·ç@#$%\^&*+=\[\]\\';,/{}|\\":<>\?¿]/g.test(str);
65}
66
67// Comprobar que la extensión del fichero es EXE, extensión no permitida
68function isExtensionFichValid(extensionesPermitidas, fileExtention) {
69    if (extensionesPermitidas.indexOf(fileExtention) == -1) {
70        return false;
71    } else {
72        return true;
73    }
74    //var fileExtention = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
75    //if (fileExtention.toUpperCase() == 'EXE') {
76    //    return false;
77    //} else {
78    //    return true;
79    //}
80}
81
82function ComprobarNombreFichero(sender, args) {
83    var fileName = args.get_fileName();
84    if (!isFichNameValid(fileName)) {
85        args.set_cancel(true);
86        alert("El nombre del fichero contiene caracteres no permitidos. ~¨`!ÑñáéíóúüÁÉÍÓÚÜç#$%\^&*+=\[\]\\';,./{}|\\:<>\?¿ \n" +
87            "Modifique el nombre del fichero.");
88    }
89}
90
91// Función del lado del cliente que se ejecutará si el archivo seleccionado tiene una extensión no válida o el tamaño del archivo supera el MaxFileSize
92function ValidarExtensionPermitidaSize(sender, args) {
93    var errorMessage = '';
94    var fileExtention = args.get_fileName().substring(args.get_fileName().lastIndexOf('.') + 1, args.get_fileName().length);
95    if (args.get_fileName().lastIndexOf('.') != -1) {
96        // Comprobar si la extensión es correcta
97        if (sender.get_allowedFileExtensions().toLowerCase().indexOf(fileExtention.toLowerCase()) == -1) {
98            // Extensión no permitida
99            errorMessage = "La extensión del fichero no está permitida.";
100        }
101        //else {
102            // El tamaño del fichero sobrepasa el tamaño máximo permitido (MaxFileSize)
103            //if (args.get_fileSize() > sender.get_maxFileSize()) {
104            //    errorMessage = "Fichero demasiado grande.";
105            //}
106        //}
107    } else {
108        // El fichero no tiene extensión
109        errorMessage = "La extensión del fichero no está permitida.";
110    }
111    if (errorMessage != '') { 
112        var $row = $(args.get_row());
113        var span = mostrarError(errorMessage);
114        $row.addClass('ruError');
115        $row.append(span);
116    }
117}
118
119function OnClientValidarFileUploaded(sender, args) {
120    //var contentType = args.get_fileInfo().ContentType;
121    var filename = sender.getUploadedFiles();
122    var fileExtention = filename[0].substring(filename[0].lastIndexOf('.') + 1, filename[0].length);
123    ValidarFichero.ValidarContenidoFichero.ComprobarContenidoFicheroExtension(filename[0], SinErroresComprobarContenidoFicheroExtension, ErroresComprobarContenidoFicheroExtension);
124    //PageMethods.
125    //var currentRowElement = args.get_row();
126    //alert(currentRowElement);
127    //alert("Fichero cargado.")
128}
129
130function SinErroresComprobarContenidoFicheroExtension(resultado) {
131
132}
133
134function ErroresComprobarContenidoFicheroExtension(resultado) {
135
136}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.