Ver Mensaje Individual
  #1  
Antiguo 11-07-2003
Avatar de jmoran
jmoran jmoran is offline
Miembro
 
Registrado: jul 2003
Ubicación: Antequera
Posts: 20
Reputación: 0
jmoran Va por buen camino
Question Subir fichero a pagina Web via HTTP usando un script php

Hola

Necesito subir un fichero a internet mediante mi programa Delphi. Para ello pretendo usar un componente Indy Tidhttp que llamaria con Post a una página php encargada de recibir este fichero.

Mi aplicacion Delphi se encargaria de simular el comportamiento del formulario previo al modulo de subir.php y pasaria los datos a este, que se encargaria de colocar el fichero en su lugar correspondiente.

El problema es que si hago una peticion Post con un dato simple. Por ejemplo una cadena nombre, el modulo php la muestra facilmente, pero no se como enviarle el fichero. He probado con codigos que usan la codificacion multipart/form-data pero siempre obrengo un error o no se encuentra la página. Supongo que lo que me falta es construir de forma adecuada los datos enviados en el POST.

El funcionamiento seria el siguiente.

* la aplicacion generara un fichero automaticamente.
* crear stream para contener la cabecera del post.
* --> construir los datos del POST
* Idhttp1.Post(url,stream_con_datos_fichero, stream_respuesta);

¿que tipo de stream deberia utilizar y que valores deberia llevar en sus propiedades?.

He probado con la clase TIdMultiPartFormDataStream pero no se como indicarle los datos de forma correcta.

El modulo php que recibe el POST es similar al siguiente:

if (is_uploaded_file($fichero) && !empty($fichero)) {
$fichdestino="$directorio"."$fichero_name";
move_uploaded_file($fichero, "$fichdestino");
Responder Con Cita