Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Como enviar variables FormField en un http.Post (https://www.clubdelphi.com/foros/showthread.php?t=90196)

darkamerico 24-04-2016 02:38:23

Como enviar variables FormField en un http.Post
 
Saludos amigos, siguiendo la cadena de mi otro post: http://www.clubdelphi.com/foros/showthread.php?t=90195, surje la necesidad de enviar variables de formulario junto con el archivo. No hay error de sintaxis, pero la variable idFacultad no esta llegando al archivo PHP:

Código Delphi [-]
procedure TfrmMain.btnUploadClick(Sender: TObject);
var
  PostData: TIdMultipartFormDataStream;
begin
  PostData := TIdMultipartFormDataStream.Create;
  try
    if open.Execute then
    begin
      PostData.AddFile('file', open.FileName);
      PostData.AddFormField('idFacultad=',IntToStr(idFacultadSelected));
      txtResp.Text:=idhttp1.Post('http://localhost/dasi/upload.php', PostData);
    end;
  finally
  begin
    ShowMessage('Documento Subido!');
    PostData.Free;
  end;
  end;
end;

El Codigo del PHP es:

Código PHP:

<?php
$uploaddir 
"docs_docente/";
$uploadfile $uploaddir basename$_FILES['file']['name']);

if(
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
{
  echo 
"ID Facultad" $_POST['idFacultad'] . '<br>';
  echo 
"The file has been uploaded successfully";
}
else
{
  echo 
"There was an error uploading the file";
}
?>

Gracias por la atencion

Americo

darkamerico 24-04-2016 02:49:16

Resuelto
 
Buscando halle este articulo: http://stackoverflow.com/questions/2...e-using-idhttp

Usando esa info modifique mi código y Funcionó:

Código Delphi [-]
procedure TfrmMain.btnUploadClick(Sender: TObject);
var
  PostData: TIdMultipartFormDataStream;
begin
  PostData := TIdMultipartFormDataStream.Create;
  try
    if open.Execute then
    begin
      PostData.AddFile('file', open.FileName);
      PostData.AddFormField('idFacultad',IntToStr(idFacultadSelected));
      IdHTTP1.Get('http://localhost/dasi/upload.php', TStream(nil));
      txtResp.Text:=idhttp1.Post('http://localhost/dasi/upload.php', PostData);
    end;
  finally
  begin
    ShowMessage('Documento Subido!');
    PostData.Free;
  end;
  end;
end;


Espero que les sea de utilidad

Saludos

ElKurgan 25-04-2016 07:53:38

Gracias por compartir la solución

Saludos


La franja horaria es GMT +2. Ahora son las 20:49:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi