Foros del Web » Programando para Internet » ASP Clásico »

server.mappath y variables

Estas en el tema de server.mappath y variables en el foro de ASP Clásico en Foros del Web. Hola a todos. tengo el siguiente problema con el contenido de la variable, Recojo la variable de una página anterior y la guardo en esta ...
  #1 (permalink)  
Antiguo 01/08/2003, 10:44
 
Fecha de Ingreso: julio-2002
Mensajes: 50
Antigüedad: 21 años, 10 meses
Puntos: 0
server.mappath y variables

Hola a todos.

tengo el siguiente problema con el contenido de la variable,

Recojo la variable de una página anterior y la guardo en esta otra

RutaUpload= request.querystring("Ruta")

Compruebo el contenido de la variable

Response.Write RutaUpload

El problema es que cuando quiero utilizar el contenido de esta variable parece que no contiene nada generando error

Falta ruta de acceso

Set f = fso.OpenTextFile(server.mappath(RutaUpload)& "\" & FileName, ForWriting, True)

NOTA
Si cambio la variable por la ruta si funciona pero con la variable no

Por favor si algien tiene alguna idea contestarme

Gracias
  #2 (permalink)  
Antiguo 01/08/2003, 10:55
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cuál es el contenido de RutaUpload?

Trata algo como esto:

Server.Mappath(".") & "\" & rutaUpload & "\" & FileName, ForWriting, True

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 01/08/2003, 11:07
 
Fecha de Ingreso: julio-2002
Mensajes: 50
Antigüedad: 21 años, 10 meses
Puntos: 0
Hola u_goldman

El contenido de la Variable RutaUpload ..\Procedimientos\Manual

He probado el código pero me lo sube a la misma carpeta donde esta la página y no a la carpeta Procedimientos\Manual

Gracias
  #4 (permalink)  
Antiguo 01/08/2003, 11:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Qué error te envía tu código original?

Qué tal así:

Set f = fso.OpenTextFile(server.mappath(RutaUpload) & FileName, ForWriting, True)
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 01/08/2003, 11:25
 
Fecha de Ingreso: julio-2002
Mensajes: 50
Antigüedad: 21 años, 10 meses
Puntos: 0
hola u_goldman

esto es todo lo que devuelve
con el ultimo código que enviaste.

Server.MapPath() error 'ASP 0171 : 80004005'

Falta ruta de acceso

/Calidad/Edit/upload.asp, line 159

Se debe especificar el parámetro Path para el método MapPath.


Gracias
  #6 (permalink)  
Antiguo 01/08/2003, 11:56
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A ver, tengo este código que ya funciona...por alguna razón, me envíaba un error de argumentos lo cambié por las constantes, hazte un respaldo del archivo que vas a abrir por precaución.

RutaUpload= "..\Procedimientos\Manual"
FileName= "prueba.txt"
Set fso= Server.CreateObject("Scripting.FileSystemObject")
ruta= server.mappath(RutaUpload) & "\" & FileName

fso.OpenTextFile ruta,2,true
Response.Write(ruta)

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 01/08/2003, 12:15
 
Fecha de Ingreso: julio-2002
Mensajes: 50
Antigüedad: 21 años, 10 meses
Puntos: 0
Hola u_goldman
Gracias por tu paciencia pero te comento:
El valor de RutaUpload puede variar en función de su procedencia y el ar chivo a realizar el Upload al servidor puede ser cualquiera
esta página lo que hace en realidad es subir un archivo al servidor sin necesidad de ninguna .dll
A continuación te envío el código pus en alguna ocasión alguien lo pueda necesitar.

<%
'----------------------------------------------------------------
' Declarar variables del documento para ASP
'----------------------------------------------------------------
Option Explicit
Dim Func, ForWriting, adLongVarChar, lngNumberUploaded
Dim noBytes, binData, RST, LenBinary, strDataWhole
Dim strBoundry, lngBoundryPos, lngCurrentBegin, lngCurrentEnd
Dim strData, lngBeginFileName, lngEndFileName, strFilename
Dim tmpLng, PrevPos, FileName, lngCT, lngBeginPos, lngEndPos
Dim lngDataLenth, strFileData, fso, f
Dim RutaUpload, Id
'----------------------------------------------------------------
' Quitar el caché del navegador
'----------------------------------------------------------------
Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0
'----------------------------------------------------------------
RutaUpload = request.querystring("Ruta")
%>
<html>
<head>
..................
Código html
..................
<%
Func = Request("Func")
If Len(Func) = 0 then
Func = 1
End If
Select Case Func
case 1
%>
..................
Código html
..................
<%
Case 2
ForWriting = 2
adLongVarChar = 201
lngNumberUploaded = 0

noBytes = Request.TotalBytes
binData = Request.BinaryRead (noBytes)

Set RST = CreateObject("ADODB.Recordset")
LenBinary = LenB(binData)

if LenBinary > 0 then
RST.Fields.Append "myBinary", adLongVarChar, LenBinary
RST.Open
RST.AddNew
RST("myBinary").AppendChunk BinData
RST.Update
strDataWhole = RST("myBinary")
End If

strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")
lngBoundryPos = instr(1,strBoundry,"boundary=") + 8
strBoundry = "--" & right(strBoundry,len(strBoundry)-lngBoundryPos)

lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

do while lngCurrentEnd > 0
strData = mid(strDataWhole,lngCurrentBegin, lngCurrentEnd - lngCurrentBegin)
strDataWhole = replace(strDataWhole,strData,"")

lngBeginFileName = instr(1,strdata,"filename=") + 10
lngEndFileName = instr(lngBeginFileName,strData,chr(34))

if lngBeginFileName = lngEndFileName and lngNumberUploaded = 0 then
Response.Write "<FONT FACE=Verdana SIZE=5>Ha ocurrido un error</FONT><BR><BR>"
Response.Write "<FONT FACE=Verdana SIZE=2><B>Explicación:</B><BR>"
Response.Write "1) Deberías seleccionar al menos 1 archivo.<BR>"
Response.Write "2) Deberías seleccionar los archivos en orden, de uno en uno y de arriba a abajo.<BR><BR>"
Response.Write "<B>Solución:</B><BR>"
Response.Write "Retrocede pulsando el botón de <B>Retroceder</B> e inténtalo de nuevo.</FONT><BR><BR>"
Response.Write "<INPUT TYPE=Button onclick=history.go(-1) value='<< Retroceder' ID='button'1 NAME='button'1 >"
Response.End
end if

if lngBeginFileName <> lngEndFileName then
strFilename = mid(strData,lngBeginFileName,lngEndFileName - lngBeginFileName)
tmpLng = instr(1,strFilename,"\")

Do While tmpLng > 0
PrevPos = tmpLng
tmpLng = instr(PrevPos + 1,strFilename,"\")
Loop

FileName = right(strFilename,len(strFileName) - PrevPos)

lngCT = instr(1,strData,"Content-Type:")

If lngCT > 0 then
lngBeginPos = instr(lngCT,strData,chr(13) & chr(10)) + 4
Else
lngBeginPos = lngEndFileName
End If

lngEndPos = len(strData)

lngDataLenth = lngEndPos - lngBeginPos

strFileData = mid(strData,lngBeginPos,lngDataLenth)

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.OpenTextFile(server.mappath(RutaUpload ) & FileName, ForWriting, True)
response.write FileName

f.Write strFileData
set f = nothing
set fso = nothing

lngNumberUploaded = lngNumberUploaded + 1

End If

lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1
loop

Response.Write "<FONT FACE=Verdana SIZE=5>Fichero(s) subido(s) al servidor</FONT><BR><BR>"
Response.Write "<FONT FACE=Verdana SIZE=2>" & lngNumberUploaded & " fichero(s) subidos al servidor.</FONT><BR><BR>"

End Select
%>
</body>
</html>

Gracias de nuevo
  #8 (permalink)  
Antiguo 01/08/2003, 12:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Hola u_goldman
Gracias por tu paciencia pero te comento:
El valor de RutaUpload puede variar en función de su procedencia y el ar chivo a realizar el Upload al servidor puede ser cualquiera
Seguro, pero lo probaste? yo lo puse así solo para probar...

Debería funcionar

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:47.