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

upload y guardar nombre de archivo

Estas en el tema de upload y guardar nombre de archivo en el foro de ASP Clásico en Foros del Web. hola necesito sacar esto urgentemente tengo un formulario para coger una foto <form method="POST" enctype="multipart/form-data" action="subir.asp"> Elija la foto a subri:<br> <input type=FILE size=60 name="FILE1"><br> ...
  #1 (permalink)  
Antiguo 31/08/2004, 11:07
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
upload y guardar nombre de archivo

hola necesito sacar esto urgentemente

tengo un formulario para coger una foto

<form method="POST" enctype="multipart/form-data" action="subir.asp">
Elija la foto a subri:<br>
<input type=FILE size=60 name="FILE1"><br>
<input type="submit" name="Submit" value="Subir Ya!">
</form>


necesito hacer el script de subir.asp para que la foto suba al servidor y me guarde en una variable el nombre de la foto sin la extension jpg.. gif o lo q sea

por favor una manita con esto.. gracias.

Última edición por Melonaxo; 31/08/2004 a las 13:00
  #2 (permalink)  
Antiguo 31/08/2004, 13:21
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 2 meses
Puntos: 0
El servidor tiene instalado algún componete para manejar el upload?
Por ejemplo: ASPUpload?

Sino también se puede hacer sin componentes con el xelupload:
http://www.aspfacil.com/articulos/07092001.asp
  #3 (permalink)  
Antiguo 01/09/2004, 05:32
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
este es el codigo completo que utilizo para el upload (sacado de asptutor.com)

<%@LANGUAGE="VBSCRIPT"%>
<%response.buffer=true
Func = Request("Func")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>

<table width="360" border="0" align="center">
<tr>
<td>
<div align="center">Selecciona una imagen para subir. </div>
</td>
</tr>
</table>
<FORM ENCTYPE="multipart/form-data" ACTION="subir.asp?func=2" METHOD=POST id=form1 name=form1>
<TABLE align="center">
<TR>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><font color="#330066" size="2">Pulsa en el botón examinar y elige el archivo
de tu ordenador.<BR>
<BR>
</font></TD>
</TR>
<TR>
<TD><font color="#330066" size="2">Luego pulsa el botón subir.<BR>
<BR>
</font></TD>
</TR>
<TR>
<TD><STRONG><font color="#330066" size="2">Nombre del archivo...</font></STRONG></TD>
</TR>
<TR>
<TD> <font size="2">
<INPUT NAME=File1 SIZE=30 TYPE=file>
<BR>
</font></TD>
</TR>
<TR>
<TD align=left>
<INPUT type="submit" value="Subir">
<BR>
<BR>
</TD>
</TR>
<TR>
<TD><font color="#330066" size="2">NOTA: Espera, recibirás una notificación
cuando el archivo haya sido subido</font><font size="2">.<BR>
<BR>
</font></TD>
</TR>
</TABLE>
<%
Case 2
ForWriting = 2
adLongVarChar = 201
lngNumberUploaded = 0

'Get binary data from form
noBytes = Request.TotalBytes
binData = Request.BinaryRead (noBytes)
'convery the binary data to a string
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
'Creates a raw data file for with all da
' ta sent. Uncomment for debuging.
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set f = fso.OpenTextFile(server.mappath(".") & "\raw.txt", ForWriting, True)
'f.Write strDataWhole
'set f = nothing
'set fso = nothing
'get the boundry indicator
strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")
lngBoundryPos = instr(1,strBoundry,"boundary=") + 8
strBoundry = "--" & right(strBoundry,len(strBoundry)-lngBoundryPos)
'Get first file boundry positions.
lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1
Do While lngCurrentEnd > 0
'Get the data between current boundry an
' d remove it from the whole.
strData = mid(strDataWhole,lngCurrentBegin, lngCurrentEnd - lngCurrentBegin)
strDataWhole = replace(strDataWhole,strData,"")

'Get the full path of the current file.
lngBeginFileName = instr(1,strdata,"filename=") + 10
lngEndFileName = instr(lngBeginFileName,strData,chr(34))
'Make sure they selected at least one fi
' le.
if lngBeginFileName = lngEndFileName and lngNumberUploaded = 0 Then

Response.Write "<H2> Ha ocurrido el siguiente error.</H2>"
Response.Write "Debes elegir un archivo para subir"
Response.Write "<BR><BR>Pulsa el botón volver, realiza la corrección."
Response.Write "<BR><BR><INPUT type='button' onclick='history.go(-1)' value='<< Volver' id='button'1 name='button'1>"
Response.End
End if
'There could be one or more empty file b
' oxes.
if lngBeginFileName <> lngEndFileName Then
strFilename = mid(strData,lngBeginFileName,lngEndFileName - lngBeginFileName)
'Creates a raw data file with data betwe
' en current boundrys. Uncomment for debug
' ing.
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set f = fso.OpenTextFile(server.mappath(".") & "\raw_" & lngNumberUploaded & ".txt", ForWriting, True)
'f.Write strData
'set f = nothing
'set fso = nothing

'Loose the path information and keep jus
' t the file name.
tmpLng = instr(1,strFilename,"\")
Do While tmpLng > 0
PrevPos = tmpLng
tmpLng = instr(PrevPos + 1,strFilename,"\")
Loop

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

'Get the begining position of the file d
' ata sent.
'if the file type is registered with the
' browser then there will be a Content-Typ
' e
lngCT = instr(1,strData,"Content-Type:")

if lngCT > 0 Then
lngBeginPos = instr(lngCT,strData,chr(13) & chr(10)) + 4
Else
lngBeginPos = lngEndFileName
End if
'Get the ending position of the file dat
' a sent.
lngEndPos = len(strData)

'Calculate the file size.
lngDataLenth = lngEndPos - lngBeginPos
'Get the file data
strFileData = mid(strData,lngBeginPos,lngDataLenth)
'Create the file.
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(server.mappath("..") & "\productos\" &_
FileName, ForWriting, True)
f.Write strFileData
Set f = nothing
Set fso = nothing

lngNumberUploaded = lngNumberUploaded + 1

End if

'Get then next boundry postitions if any
' .
lngCurrentBegin = instr(1,strDataWhole,strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1
loop


Response.Write "Archivo subido"
Response.Write lngNumberUploaded & " archivo ya está en el servidor.<BR>"
Response.Write "<BR><BR><INPUT type='button' onclick='document.location=" & chr(34) & "subir.asp" & chr(34) & "' value='<< Volver' id='button'1 name='button'1>"
End Select
%>
</BODY>
</HTML>



¿como puedo recoger el nombre del archivo que voy a subir sin su extension?

Última edición por Melonaxo; 01/09/2004 a las 05:33
  #4 (permalink)  
Antiguo 01/09/2004, 07:37
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Habria que probar el ejemplo y analizarlo, en cuanto a la extensión si tienes el nombre solo con un instr que busque el ".", y con un mid lo sacas o simplemente -4 ".xxx" Los ultimos (4 caracteres)
  #5 (permalink)  
Antiguo 01/09/2004, 08:18
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 20 años, 2 meses
Puntos: 0
Cual es el error que obtienes?
  #6 (permalink)  
Antiguo 01/09/2004, 13:38
 
Fecha de Ingreso: junio-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
No obtengo nigun error..

El ejemplo funciona perfectamente, me da igual este u otro.

lo que necesito es capturar el nombre del archivo que voy a subir en una variable.
ejemplo.
subo el archivo 0001.jpg
necesito que la variable "foto" recoja el valor 0001

saludos.
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 16:27.