miércoles, 13 de octubre de 2010

Proyecto de Medio Curso...

Bueno mi proyecto de medio curso consiste en una pagina web para subir archivos y descargar, estilo rapidshare.com o speedyshare.com, yo nombre a mi proyecto WeShare.com.

Archivos generados para el proyecto:
  • Upload.py: CGI en python.
  • HTML: pagina web.
  • CSS: archivos para el diseño de la pagina web.


Bueno el Codigo en python es algo simple...



import cgitb; cgitb.enable()   ## esta linea se encarga de imprimir si hay errores.



fileitem = form['filename']

if fileitem.filename:
fn = os.path.basename(fileitem.filename)
open('/var/www/Files/' + fn, 'wb').write(fileitem.file.read())
##estas lineas son las que generan el archivo en el directorio.. en este caro /var/www/Files/.


message = '<center>The file "' + fn + '" was uploaded successfully.<br><br>Download url:<br> <input name="url" value="http://conglom-osoft.no-ip.org/Files/'+ fn +'" size="60"></center>'
##Aparece este mensaje si el archivo se subio correctamente.

else:
message = '<center><font size="3" color="red">Select a File</font></center>'
##y aparece este mensaje si no se carga el archivo..


print """\
Content-Type: text/html\n
<html>
 <p>%s</p>
</html>
"""% (message,)
##Esto sirve para imprimir el HTML del cgi y el %(message,) sirve para imprimir el mensaje.




Esta es una foto de la pagina web...



Y esto es lo que lleva el formulario en HTML

<center><br/><br/><br/>Select the File you want to Upload. Maximum size: 200 MB <br/>
<form action="http://conglom-osoft.no-ip.org/cgi-bin/upload.py" method="POST" enctype="multipart/form-data">
<input type="file" name="filename" size="40"><br/><br/>
<input type="submit" value="Upload..">
</center>



Saludos.. 

1 comentario:

  1. Te pongo 20 puntos por el proyeto, ya que se me hace un poquito simple el programa, ya que guardas simplemente el archivo en un lugar x y ya. Si quieres otros diez puntos, te los doy si le agregas una funcionalidad con la cual uno puede entrar a ver un listado de todos los archivos previamente subidos y que permita eliminar un archivo especificado por el usuario. Esto sería antes de noviembre para que no to estorbe con el proyecto final.

    ResponderEliminar