sintgamas, artículos
 
Usuario:   Clave:    
   
Escribí lo que quieras:  
 
  Gastronomía| Moda| Mascotas| Industria| Om| Mi lugar| Economía| Política| Humor| Ecología| Turismo| Educación| Inmobiliarias| Sociedad| El mundo| Ocio| Música| Ciencia| Tecnología| Internet| Posicionamiento| Diseño| Deporte| Salud| Letras| Cine| Juegos| Miscelaneas| Cultura| Escultura| Pintura| Clasificados| Televisión| Alternativas| Recetas| Telefonía|  
   
 
 
27 Textos huérfano de realidad busca adoptar una ilusión que le haga juego   por   marisita
 
 
Datagestion 1/28/2012 | 01:05:27 a.m.  
 
Subir un archivo al servidor usando ASP
Tutorial en ASP para subir archivos al servidro remoto
Tags:
  upload   aspupload   subir archivo usando ASP   ASP subir archivo   subir archivo al servidor   programación ASP   Tutorial en ASP subir archivos   upload en ASP
 

 

He leído decenas de tutoriales sobre subir archivos al servidor usando ASP, en todos los casos lo que encontré fueron copias de un mismo procedimiento, con variaciones, o archivos que se pueden bajar, sin ninguna explicación.
Si bien la mayoría sirve, ante cualquier variación que queremos realizar sobre esos archivos no se encuentran explicaciones detalladas de cómo se realizan.
El presente instructivo, es una explicación detallada de cómo subir un archivo a un servidor, de forma sencilla y sin comprobaciones, como usan la mayoría de los ejemplos, que hacen que no se comprenda bien el proceso.
Luego, el lector podrá agregarle a este procedimiento las complejidades necesarias para realizar esta acción.
El presente instructivo es exclusivamente para subir un archivo, no comprobará el tamaño del archivo, ni otras consideraciones, pero partiendo de este código se podrá ampliar la programación, tan compleja como se quiera.
Entonces, partimos de la hipótesis que necesitamos subir un archivo a desde nuestra máquina a un servidor remoto.
Para ello armamos un formulario que contenga el campo y el botón examinar, que nos permite ver la carpeta local donde buscaremos el archivo. Esto sería:
En código:
<form id="form1" name="form1" method="POST" action="">
<table>
<tr>
<td width="59%"><INPUT NAME="File1" SIZE=30 TYPE="file"></td>
</tr>
<tr><td> <input type="text" name="button" id="button" value="Enviar" /></td></tr>
</table>
</form>
 
Esto ubicará un campo, con un botón de examinar a la derecha. Y otro botón abajo, enviar, para iniciar la acción de subir al servidor el archivo
 
Cuando se presione el botón examinar, abre una ventana que muestra el contenido de las carpetas del servidor local.
 
Al seleccionar un archivo, quedará en el campo la dirección física donde se encuentra el archivo.
Por ejemplo algo como esto: C:\imagenes\nombre.jpg
Si el camino a la imagen es más largo, sería algo como esto: C:\carpeta\imagenes\nombre.jpg
 
Para aislar el nombre del archivo, en cualquier caso, tendría que identificar lo que haya hacia la derecha de la barra, \.
En algunos foros, he visto que realizan una especie de función recursiva que rastrea cada \, hasta que llega a la última y ahí encuentra el nombre del archivo.
 
En mi ejemplo haré algo que considero más sencillo: invertiré todo el nombre, buscaré una sola vez la barra, extraeré el string que quede desde el comienzo hasta esa barra y volveré a invertir el archivo, con ello obtendré el nombre del archivo. Esto es mucho más rápido que una función que se ejecute varias veces para encontrar todas las barras.
 
Suponemos que el nombre del campo es: nombreArchivo.
Invierto el campo:
<%
Dim Invertida
Invertida= strReverse(nombreArchivo)
%>
Esto daría como resultado en el contenido de invertir esto: “gpj.erbmon\senegami\ateprac\:C”
Ahora, busco la primera barra:
<%
Dim dondeBarra
dondeBarra= instr(Invertida,"\")
 
%>
 
Ahora en dondeBarra hay un número que indica en dónde encontró la barra, dentro de la variable Invertida, contando desde 1.
Ahora extraigo la cadena de caracteres desde 1, hasta la barra, y le resto 1 carácter para extraer la misma barra.
Para el ejemplo el valor que contiene dondeBarra es: 11, contando desde el principio e incluyendo la barra.
 
<%
Dim Extraer
Extraer= mid(Invertida,1,dondeBarra-1)
%>
 
Ahora  Extraer contiene esto: gpj.erbmon
 
Sencillamente volvemos invertir y obtenemos el nombre del archivo:
<% Dim nombreFinal
nombreFinal= strReverse(Extraer)
%>
 
En este momento, en nombreFinal contiene “nombre.jpg”
 
Ahora, utilizamos un objeto que permitirá pasar el archivo al servidor remoto.
 
<% Dim ForWriting, FileName
ForWriting = 2
                FileName=nombreFinal
                Set fso = CreateObject("Scripting.FileSystemObject")
                set f = fso.OpenTextFile("DireccionDeDestino\" & FileName, ForWriting, True)
                f.Write FileName
                Set f = nothing
                Set fso = nothing
%>
 
Esto es todo.
ForWriting es un parámetro del objeto fso que implica un GET, un tomar el archivo, y ForWriting es un parámetro que indica que se va a escribir en una carpeta.
Direcciondedestino: es el lugar físico, cuidado, no confundir con una dirección http, que no lo es.
 
DirecciónDeDestino puede ser algo asi: “C:\inetpub\wwwroot\imagen\” y lo que hará es colocar el archivo copiado en ese sitio.
Si en el servidor remoto se desconoce la dirección física en donde se desea copiar al archivo, se puede suplantar la línea con la siguiente:
 
Set f = fso.OpenTextFile(server.mappath("..") & "\imagen\" &  FileName, ForWriting, True)
 
Donde el objeto server.mapmath contiene la dirección física.
 
El archivo completo implicaría que primero debería verse el formulario, que nos permite elegir el archivo y luego de presionar el botón enviar, se ejecute la parte en que sube el archivo. Por ello, nuestra página se ejecuta, dos veces, una cuando abre el formulario, otra cuando sube, entonces iniciamos la página con una condición:
 
Esta función devuelve un 1 o un 2, cuando arranca es 1. En el formulario indicamos que en caso que sea 1, se muestre el formulario, y cuando sea 2, se ejecute la acción de subir archivo al servidor.
 
El archivo se llamara: upload.asp
 
<%
Func = Request("Func")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>
<form id="form1" name="form1" method="POST" action="upload.asp">
<table>
<tr>
<td width="59%"><INPUT NAME="File1" SIZE=30 TYPE="file"></td>
</tr>
<tr><td> <input type="text" name="button" id="button" value="Enviar" /></td></tr>
</table>
</form>
<%
Case 2
Dim Invertida, dondeBarra, Extraer, nombreFinal
Invertida= strReverse(nombreArchivo)
dondeBarra= instr(Invertida,"\")
Extraer= mid(Invertida,1,dondeBarra-1)
nombreFinal= strReverse(Extraer)
Dim ForWriting, FileName
ForWriting = 2
FileName=nombreFinal
Set fso = CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("DireccionDeDestino\" & FileName, ForWriting, True)
f.Write FileName
Set f = nothing
Set fso = nothing
%>
Seguramente es una de las formas más sencillas para subir un archivo. Es hora de comentar lo que habría que agregarle:
Habría que realizar alguna acción que detectara no ejecutar la subida del archivo, si el campo nombreArchivo está vacío, pues daría un error en la ejecución.
También hay que tener en cuenta que es posible que el archivo ya exista en el servidor remoto, con lo cual será suplantado por este otro sin que se advierta al usuario que ello está ocurriendo.
Ambas son acciones en las que hay que pensar a la hora de querer subir un archivo.
 
Espero les haya servido y me lo hagan saber dejándome sus comentarios.
 

  Ana Abregú

 

www.anaabregu.com.ar

www.datagestion.com.ar

www.posicionamientourl.com.ar

 

 

Ana Abregú.

www.metaliteratura.com.ar

  Adjetivación

Ana Abregú

 

 

 
Agregar esta página a Mister Wong Compartir
Diseño de base de datos
SEO posicionamiento y Marketing y Publicidad
Estratregias de posicionamiento web
7 recomendaciones para SEO posicionamiento
La vidriera internacional
  Comentarios: 0      
 
Enviá tu comentario
Para dejar tu comentario debes ser miembro de Sintagmas.
 
 
 
 
 
 
ULTIMAS PUBLICADAS en Internet |
  Python para el desarrollo web
Xnechijli01
 
  Ventajas de Python para el desarrollo web
Xnechijli01
 
  Principales marcos web de Python
Xnechijli01
 
  Internet para todas las cosas
Xnechijli01
 
  Informática en la nube
Xnechijli01
 
  Qué son los inicios de sesión
Xnechijli01
 
  Java lenguaje de programación por excelencia
Xnechijli01
 
  La barra de dirección del navegador y su función
Xnechijli01
 
  La importancia del diseño web en el marketing
Xnechijli01
 
  Algunos tipos de sitios web: parte 4
Xnechijli01
 
  Algunos tipos de sitios web
Xnechijli01
 
  Introducción al diseño web: Potocolos web
Xnechijli01
 
  Introducción al diseño web: Las páginas web
Xnechijli01
 
  El Haking etico el nuevo sistema de proteccion contra vulnerabilidades
aaragones
 
  Saca el jugo a los servicios de Onedrive
Contenidos7
 
  Una aplicación para reagrupar todas las nubes en un único lugar
Contenidos7
 
  Chrome OUT
Sociedaccion
 
  Diferencias entre onedrive para empresa y onedrive
Contenidos7
 
  Nuestros archivos de OneDrive en cualquier parte
Contenidos7
 
  Desaparece en Internet Explorer y otras acometidas de Windows 10
PosicionamientoURL
 
  Las mejores páginas de torrents en español
danielcasado
 
  Comunicación digital
Datagestion
 
  Mi alma de músico almacenada en OneDrive
Contenidos7
 
  Extrañas políticas de seguridad de Facebook
Datagestion
 
  Pesadilla viral 2015
Datagestion
 
  Ventajas de las tiendas online de electrodomésticos
Contenidos7
 
  Facebook y WhatsApp
Sociedaccion
 
  OneDrive, despensa de archivos descargados
Contenidos7
 
  La polisemia del término "nube" y el uso de Onedrive
Contenidos7
 
  Seguridad en claves
Datagestion
 
 
 
 
TAGS
upload aspupload subir archivo usando ASP ASP subir archivo subir archivo al servidor programación ASP Tutorial en ASP subir archivos upload en ASP
 
 
  Contacto| Términos y condiciones| Anunciar en Sintagmas| Acerca de Sintagmas| Administrar|      
Copyright 2009 y actual de Sintagmas | Todos los derechos reservados