• Publicidad

Error al subir un archivo

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Error al subir un archivo

Notapor hugo11ab » 2017-08-15 16:36 @733

Buenas tardes. Solicitando nuevamente de sus conocimientos.

Tengo una aplicación que lo único que sube es un archivo al servidor, pero cuando lo intento almacenar me manda el siguiente error:

x86_64-linux-thread-multi-4.4.6-301.fc23.x86_64) does not match executable architecture (x86_64-linux-thread-multi-4.11.5-200.fc25.x86_64) at /usr/lib64/perl5/Errno.pm line 11

Esta aplicación estaba funcionando en Fedora 14 y no tenía ningún problema, actualice el servidor a Fedora 24 y me empezó a fallar, y solo es con campos de tipo archivo donde me manda el error.

sub ingresarpdf {

my $table0 = new HTML::Table(-cols=>2,-border=>0,-bgcolor=>0,-width=>"90%",-spacing=>0,-padding=>0,-class=>"tablaBordeEnc");
$table0->setCell(1,1,"<img src=\"../../control_vehicular/images/adjuntar_pdf.png\"</img>");
$table0->setCell(1,2,"<span class=\"blanco\">PANTALLA PARA EL INGRESO DE LA DOCUMENTACION</span>");

$table0->setCell(2,2, "Presiona el Boton Examinar y selecciona el archivo a enviar que se encuentra en su PC. Mismo que debera estar en formato PDF. Evita que el nombre del mismo contenga espacios, acentos y cambia las ñ por n.");
$table0->setCell(3,2, "<input type=\"file\" id=\"sourcefile\" name=\"sourcefile\" size=\"50\" class=\"editables\">");
$table0->setCell(4,2, "<br>" . submit(-id=>'btnIngresarD',-name=>'btnIngresarD',-value=>'Registrar',-class=>'Bsbttn') . "&nbsp;&nbsp; " . button(-name=>'regresar',-value=>'Regresar', -onClick=>'javascript:history.back();',-class=>'Bsbttn'));

$table0->setRowHeight(2,"50");
$table0->setRowHeight(3,"40");
$table0->setRowHeight(1,"25");
$table0->setCellBGColor(1,2,"#547980");
$table0->setCellAlign(1,2,"CENTER");
$table0->setCellAlign(3,2,"CENTER");
$table0->setCellAlign(4,2,"CENTER");
$table0->setCellRowSpan(1,1,4);

#====================================================================================================================
do "menu_ingreso.cgi";
my $diseno = &obten_menuPrincipal($table0);
print $session->header;
print start_html(-title=>"$tituloPag",
-script=>[
{ -language => 'JavaScript', -src => '../../control_vehicular/js/jquery-1.11.2.min.js'},
{ -language => 'JavaScript', -src => '../../control_vehicular/js/jquery-ui-1.10.4.custom.min.js'},
{ -language => 'JavaScript', -src => '../../control_vehicular/js/valVehiculo.js'}
],
-style=> [
{-src=>$server.'/control_vehicular/css/redmond/jquery-ui-1.10.4.custom.min.css'},
{-src=>$server.'/control_vehicular/css/diseno.css'}
],
);

print start_form(-action=>$script_name,
-name=>'form',
-id =>'form'
);
print $diseno;
print end_form();
print end_html();
exit;
}

Esta función almacena el archivo:

sub adjuntarPDF {
my ($buffer,$bytesread,$nombre_en_servidor,$extension_correcta,@extensiones,$dir,$nombre,$sql);

#Array con extensiones de archivos que podemos recibir
@extensiones = ('pdf');

$nombre_en_servidor = $FORM{sourcefile};
$nombre_en_servidor =~ s/ /_/gi;
$nombre_en_servidor =~ s!^.*(\\|\/)!!;

$extension_correcta = 0;

foreach (@extensiones){
if($nombre_en_servidor =~ /\.$_$/i){
$extension_correcta = 1;
last;
}
}
my $tamano = -s $FORM{sourcefile};
if (!$FORM{sourcefile} || $extension_correcta == 0 || $tamano <= 0) {
&ingresarpdf("<span class=rojo> No se pudo almacenar el documento, debido a que este no cumple con las caracteristicas solicitadas.");
exit;
}
my $numeroSemana = POSIX::strftime("%V", gmtime time);

$nombre="$aaaa/$numeroSemana/DOC_ANEXO.pdf";
$dir="/var/www/html/control_vehicular/documentos/$nombre";

#Abrimos el nuevo archivo
open (OUTFILE, ">$dir") || die "No se puede crear el archivo";
binmode(OUTFILE); #Para no tener problemas en Windows

#Transferimos byte por byte el archivo
while ($bytesread = read($FORM{sourcefile}, $buffer, 1024)) {
print OUTFILE $buffer;
}

#Cerramos el archivo creado
close (OUTFILE);

&ingresarpdf("<span class=verde> El documento correspondiente al folio <span class=rojo> $folio </span> fué ingresado satisfactoriamente.</span>"); exit;

}

No sé si serán problemas del servidor.

¡¡¡Gracias por su ayuda!!!
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016

Publicidad

Re: Error al subir un archivo

Notapor explorer » 2017-08-15 19:21 @847

El mensaje de error me dice que hay una discrepancia en las arquitecturas de las bibliotecas 64 bits.

Me da la sensación de que esas bibliotecas no se han actualizado bien. En el error sale Errno.pm, uno de los paquetes básicos de Perl.

Yo intentaría reinstalar Perl, en ese servidor.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error al subir un archivo

Notapor hugo11ab » 2017-08-16 16:12 @716

Muchas gracias, explorer.

Ya quedó solucionado, actualice el servidor y ahí venía el paquete Errno.

El comando que utilicé para actualizar el Fedora fue:

dnf update
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados