Загрузить изображение в imageshack с Delphi - PullRequest
4 голосов
/ 31 июля 2011

У меня есть ключ API и я читаю скудную документацию на их сайте, но все еще не могу заставить ее работать, поэтому, если у кого-то есть примеры, которыми они могли бы поделиться, это было бы здорово.Мне не нужно беспокоиться о видео или о чем-то необычном, простая загрузка с ответной информацией удовлетворит мои потребности.

uses IdHttp;

function PostData:string;
var
    url: string;
    text: string;
    http: TIDHttp;
    valid: boolean;
    param: TStringList;
begin
    http := TIDHttp.Create(nil);
    http.HandleRedirects := true;
    http.ReadTimeout := 5000;
    param := TStringList.create;
    param.Clear;
    param.Add('fileupload=c:\image.png');
    param.Add('key=MY_API_KEY');
    param.Add('tags=tag1,tag2');
    valid := true;
    url := 'http://www.imageshack.us/upload_api.php';

    try
        text := http.Post(url, param);
    except
        valid := false;
    end;

    if valid then
        PostData := text
    else
        PostData := '';
end;

Спасибо.Kevin

1 Ответ

1 голос
/ 31 июля 2011

В значительной степени я делал то же самое в прошлую ночь. Thx tho.

procedure TForm1.Button1Click(Sender: TObject);
var
  MPData: TIdMultiPartFormDataStream;
  sResponse: string;
begin
  MPData := TIdMultiPartFormDataStream.Create;
  MPData.AddFile('fileupload','c:\image.png','image/png');
  MPData.AddFormField('tags','testfile,flyasia');
  MPData.AddFormField('public','no');
  MPData.AddFormField('key','API_KEY_HERE');
  sResponse := IdHTTP1.Post('http://www.imageshack.us/upload_api.php', MPData);
  MPData.Free;

  Memo1.Text := sResponse;
end;
...