Delphi使用Indy组件http上传文件


本文整理自网络,侵删。

 
该示例使用Indy组件演示如何使用http上传文件
主要代码
procedure TformMain.btnUploadClick(Sender: TObject);
var
  formData : TIdMultiPartFormDataStream;
  i: integer;
begin
  if (ListBox_Filelist.Items.Count = 0) then exit;
  
  formData := TIdMultiPartFormDataStream.Create;

  try
    for i := 0 to ListBox_FileList.Items.Count -1 do
    begin
      formData.AddFile('File'+IntToStr(i), ListBox_FileList.Items[i], 'plain/text');
    end;

    IdHTTP1.Request.Referer := Edit_URLAddress.Text;

    try
      memo_log.Lines.Text     := idHTTP1.Post(Edit_URLAddress.Text, formData);
    except
      on e: exception do
      begin
        memo_log.Lines.Text   := e.Message;
      end;
    end;
  finally
    formData.Free;
  end;
end;

procedure TformMain.btn_ClearMessagesClick(Sender: TObject);
begin
//删除所有行信息
  with memo_log.Lines do
  begin
    BeginUpdate;
    Clear;
    EndUpdate;
  end;
end;

procedure TformMain.btnRemoveFileClick(Sender: TObject);
begin
  // cn: 从filelist清除所选行的项目
  // en: To remove the selected itens from filelist
  if ListBox_Filelist.SelCount > 0 then
  ListBox_Filelist.DeleteSelected
  else
  showmessage('请先选定要删除的项目 / Please select the item(s) to delete');
end;

procedure TformMain.btnAddFileClick(Sender: TObject);
begin
  // cn: 从对话框中添加新文件到filelist
  // en: To add a new file at filelist from dialog box
  if (OpenDialog1.Execute) then ListBox_Filelist.Items.Add(OpenDialog1.FileName);
end;

procedure TformMain.Exit1Click(Sender: TObject);
begin
  Application.Terminate;
end;

来源:https://www.amingstudio.com/delphi/594.html

相关阅读 >>

Delphi 蜂鸣器发声

Delphi 2009 之 tcategorypanelgroup[4]: height

Delphi线程池

Delphi调用游戏call代码

Delphi xe filesizebyname 要引用哪些文件

Delphi 操作sql 插入一万条数据 三种方式速度测试

Delphi 生成指定范围和个数的不重复的随机整数

Delphi xe将图标和图像添加为资源

Delphi 分解链接主域名和文件名

Delphi xe可执行文件上启用dep和aslr

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...