Retroceder   Foros del Web > Programación para sitios web > ASP Clásico

Respuesta
 
Herramientas Desplegado
Antiguo 26-may-2008, 04:46   #1 (permalink)
PosProdukcion tiene algunos puntos positivos de karma
 
Avatar de PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 509
xelUpload: error en llamada a procedimiento

Hola amigos, retomo un viejo tema que parece bastante común pero no he visto soluciones, ya que buscando en google, se ven muchos planteamientos del mismo problema pero pocas soluciones.

En este post se habla de ello, pero la solución quedó en suspenso...

El caso es que al hacer fichero.GuardarComo nombre, ruta_server, me da este error:

Código:
Error de Microsoft VBScript en tiempo de ejecución error '800a0005'

Argumento o llamada a procedimiento no válidos

/xelupload.asp, linea 194

[es esta linea de codigo: oFich.Write Chr(AscB(MidB(Datos, i, 1)))]
Esto ocurre al hacer upload, cosa extraña: si recargo la página hace el upload correctamente...

Mis versiones de script son estas, que en principio cumplen con los requisitos de xelUpload:

Código:
ScriptEngine: VBScript

ScriptEngineMajorVersion: 5

ScriptEngineMinorVersion: 7

ScriptEngineBuildVersion: 5730
Lo más curioso es que en otras ocasiones ya he usado xelUpload en la misma máquina sin ningún problema

Espero que podáis ayudarme

Gracias
PosProdukcion está desconectado   Responder Citando
Antiguo 26-may-2008, 10:26   #2 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.922
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: xelUpload: error en llamada a procedimiento

habria que verificar si no llegan NULL o vacios, parece que todo indica por ese lado


podrias poner parte del codigo anterior a esa linea
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 27-may-2008, 04:36   #3 (permalink)
PosProdukcion tiene algunos puntos positivos de karma
 
Avatar de PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 509
Respuesta: xelUpload: error en llamada a procedimiento

¿te refieres al código de la clase xelUpload? Ok, ahí te lo pongo...

Por mi parte la llamada se realiza con:

Código:
For each fich in upld.Ficheros.Items
     fich.GuardarComo nombre_fichero, ruta_server
Next
Ninguno de ellos es vacío y la ruta_server está mapeada

Dentro de xelUpload (que es una clase descargada de internet), el código de esa sub es el siguiente:

Código:
Public Sub GuardarComo(nombrefichero, ruta)
Dim oFSO, oFich, i

if ruta = "" or nombrefichero = "" then Exit Sub
if Mid(ruta, Len(ruta)) <> "\" then		'"	
	'añado la ultima barra a la ruta
	ruta = ruta & "\" 						'"
end if

set oFSO = Server.CreateObject("Scripting.FileSystemObject")
if not oFSO.FolderExists(ruta) then Exit Sub
set oFich = oFSO.CreateTextFile(ruta & nombrefichero, true)

for i = 1 to LenB(Datos)
	   oFich.Write Chr(AscB(MidB(Datos, i, 1)))
next 	

oFich.Close
set oFSO = nothing


End Sub
He probado a proteger el oFich.Write Chr(AscB(MidB(Datos, i, 1))) con un If Datos & "" <> "" aunque sigue dando el mismo error, en lugar de subir solo un fichero erróneo de 1kb sube un fichero erróneo de 401 kb, o sea, que por ahí puede andar la cosa, pero no se me ocurre como solucionarlo y por qué antes no me ocurría

Gracias, saludos
PosProdukcion está desconectado   Responder Citando
Antiguo 27-may-2008, 11:36   #4 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.922
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: xelUpload: error en llamada a procedimiento

, y ya que andamos con eso de la ruta..... como te escribe la ruta

Cita:
response.write ruta_server
en este caso para saber si le falta el "\" al final, por que en lo relacionado a direccionamiento virtual

si solo le estas mandando "server.mappath("./")" y anexas un directorio extra, "server.mappath("./extra")", le haria falta la barra invertida

carpeta = server.mappath("./") & "extra\"

solo seria verificacion de la ruta para guardar, no tanto del nombre del archivo

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 27-may-2008, 12:23   #5 (permalink)
PosProdukcion tiene algunos puntos positivos de karma
 
Avatar de PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 509
Respuesta: xelUpload: error en llamada a procedimiento

Pues parece que no va por ahí la cosa, tanto da que anexe una barra "\" al final de la ruta (después de hacer Server.MapPath) como sin ponerla...

La llamada la he hecho con estos dos casos:

Código:
c:\inetpub\wwwroot\upload\users\2008.05

c:\inetpub\wwwroot\upload\users\2008.05\
Que se corresponde con

Código:
Server.MapPath("/upload/users/2008.05")
¿Cosa rara verdad? Creo que la cosa va más por la sentencia oFich.Write Chr(AscB(MidB(Datos, i, 1))), como decías antes debe ser que el error salta al encontrar un nulo en esa línea, lo que no se es como tratarlo, ya que no basta con If Datos & "" <> "" Then...

Gracias por tus respuestas

EDITO: VAYA COSA MÁS RARA!! Bueno, pues resulta que probando, antes sin poner la barra final en la ruta digamos que funcionaba ok una de cada 20 veces que fallaba, ahora con la barra final, pues falla una de cada 20 veces que funciona (vamos, que funcionan casi todos los ficheros que subo, y no, el error no está en los ficheros, son jpg bien formados)

Última edición por PosProdukcion; 27-may-2008 a las 12:30.
PosProdukcion está desconectado   Responder Citando
Antiguo 27-may-2008, 13:18   #6 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.922
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: xelUpload: error en llamada a procedimiento

Cita:
Iniciado por PosProdukcion Ver Mensaje
....
[/code]¿Cosa rara verdad? Creo que la cosa va más por la sentencia oFich.Write Chr(AscB(MidB(Datos, i, 1))), como decías antes debe ser que el error salta al encontrar un nulo en esa línea, lo que no se es como tratarlo, ya que no basta con If Datos & "" <> "" Then...
tendremos que recurrir al Sñr de las oscuridades para que nos ilumine el camino hacia una pronta respuesta (p.d. Donde Andara Mister Darkness o Sensei tiguron)
y solo por curiosidad, para que sirve este Amperson dentro del IF

Cita:
If Datos & "" <> "" Then...
???
Cita:
Iniciado por PosProdukcion Ver Mensaje
....
EDITO: VAYA COSA MÁS RARA!! Bueno, pues resulta que probando, antes sin poner la barra final en la ruta digamos que funcionaba ok una de cada 20 veces que fallaba, ahora con la barra final, pues falla una de cada 20 veces que funciona (vamos, que funcionan casi todos los ficheros que subo, y no, el error no está en los ficheros, son jpg bien formados)
90% favorable, es mejor que 90% desfavorable
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 27-may-2008, 14:44   #7 (permalink)
PosProdukcion tiene algunos puntos positivos de karma
 
Avatar de PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 509
Respuesta: xelUpload: error en llamada a procedimiento

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
y solo por curiosidad, para que sirve este Amperson dentro del IF
Ah, eso! Como no se el tipo de Datos, pues es una forma "casera" de convertirlo a string y comprobar si está vacía, en realidad supongo que sería más correcto preguntar si es nulo en función de su tipo de datos...

Seguiré probando en los próximos días a ver como de estable se muestra el upload... ya os contaré...
PosProdukcion está desconectado   Responder Citando
Antiguo 27-may-2008, 18:39   #8 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.922
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: xelUpload: error en llamada a procedimiento

Cita:
Iniciado por PosProdukcion Ver Mensaje
Ah, eso! Como no se el tipo de Datos, pues es una forma "casera" de convertirlo a string y comprobar si está vacía, en realidad supongo que sería más correcto preguntar si es nulo en función de su tipo de datos...

Seguiré probando en los próximos días a ver como de estable se muestra el upload... ya os contaré...
hasta se me afigura que eres paisano (mexicano)

Cita:
if (cstr(Datos))<>"" then
o en su caso de null o vacio
Cita:
if isnull(cstr(Datos)) or isempty(cstr(Datos)) then
pero buena inventiva,
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 28-may-2008, 01:46   #9 (permalink)
PosProdukcion tiene algunos puntos positivos de karma
 
Avatar de PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 509
Respuesta: xelUpload: error en llamada a procedimiento

Bueno, soy español, pero ya sabes que queda cerca de méxico, sólo un poquito de agua entre medias
PosProdukcion está desconectado   Responder Citando
Antiguo 09-sep-2008, 12:35   #10 (permalink)
Netzai ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Respuesta: xelUpload: error en llamada a procedimiento

Buen día

Espero que tengas el mismo error que tenia y tambien sea buen dia para ti, toda una mañana buscando el error y casi entro hasta el codigo maquina. Bueno exagero un poco.

Igual ya habia usado xelUpload y me habia funcionado muy bien y ahora para otra aplicacion que estoy desarrollando no queria.
Estoy desarrollando con Dreamweaver ahora con CS3 el primero fue con MX

y los encabezados que pone por default son diferentes

lo cambie al
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
que es el que ponia DW MX y ya se solucionó.

En resumen. Cuidar el tipo de codificación de la página que ejecuta el Upload.

Espero haberme explicado y sirva a otros.
Suerte
Netzai está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 16:17.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93