lunes, 4 de agosto de 2014



¡Subir Archivos a Servidor Linux en Java y Php!

¡Hola Chicos!

Hace unos días atrás pensaba que subir un archivo al servidor era realmente imposible realizarlo, pero ps realmente no era así...
Enviar archivos desde aplicación en Java o en Php.. es realmente sencillo.
En Java no pide permisos de escritura ni nada por el estilo, pero en php si, en la carpeta principal del proyecto, debe otorgar permisos 777, para que copie el archivo.

Tanto en java como en php, requieren de un html en donde esta compuesto por un formulario que es similar a esto:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>JSP Page</title> 
</head> 
<body> 
<form action="uploadFile.jsp" method="post" enctype="multipart/form-data"> 
<input type="file" name="file"/> 
<br /> 
<input type="submit" value="Subir archivo" /> 
</form> 
</body> 
</html>

Lo único que cambia es que en la action del formulario deberá llamar en java a un jsp y en php, un archivo propio de php.

El jsp tendría lo siguiente:

<%@ page import="org.apache.commons.fileupload.FileItem" %> 
<%@ page import="java.util.*" %> 
<%@ page import="org.apache.commons.fileupload.*" %> 
<%@ page import="org.apache.commons.fileupload.disk.*" %> 
<%@ page import="org.apache.commons.fileupload.servlet.*" %> 
<%@ page import="org.apache.commons.io.*" %> 
<%@ page import="java.io.*" %> 

<%
java.io.File dir = new File("/home/prueba/cedula");
dir.mkdir();//Esta línea permite crear la ruta si no existe.
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024); 
//factory.setRepository(new File(ubicacionArchivo));
factory.setRepository(dir);
ServletFileUpload upload = new ServletFileUpload(factory);

try
{
List<FileItem> partes = upload.parseRequest(request);

for(FileItem item : partes)
{
File file = new File( dir, item.getName() );
item.write(file);
}
out.write("El archivo se a subido correctamente") ;
}
catch(FileUploadException ex)
{
out.write("Error al subir archivo "+ex.getMessage());
}
%>

En php sería lo siguiente:

<?php
if(isset($_POST["submit"]))
{
 $nombre_archivo = $_FILES["archivo"]["name"];
 $tipo_archivo = $_FILES["archivo"]["type"];
 $tamano_archivo = $_FILES["archivo"]["size"];

 $limite = $_POST["limite"];
 if($tamano_archivo<=$_POST['limite'])
 {
 if(move_uploaded_file($_FILES["archivo"]["tmp_name"], $nombre_archivo))
 {
 echo "El archivo " . $nombre_archivo . " se ha transferido correctamente. <br />";
 echo "Su tamaño es de: " . $tamano_archivo . " bytes.";
 echo "El tipo de archivo es: " . $tipo_archivo;
 }
 else
 {
 echo "No se ha podido transferir el archivo, verifique el tamaño del archivo e intente nuevamente.";
 }
 }
 echo "<a href='.$nombre_archivo.'>";
}
?>


Realizando este código funciona perfectamente..!!!!


Saludos....=)


No hay comentarios:

Publicar un comentario