zoukankan      html  css  js  c++  java
  • delphi 实现文件上传下载

    unit UpDownFile;
    
    interface
    
    uses
        Windows, Classes, Idhttp, URLMon, IdMultipartFormData;
    
    const UpUrl = 'http://127.0.0.1/upfile/upfile.asp';
    const UpFileName = 'C:Documents and SettingsAdministrator桌面	estweb.mdb';
    const DownUrl = 'http://www.google.com/images/logo_sm.gif';
    const DownFileName = 'web.gif';
    
    type
        TUpDownFile = class
        private
          FThreadID : DWord;
          FHandle : THandle;
        { Private declarations }
        public
            constructor Create;
            procedure UpFile;
            procedure DownFile;
            procedure Close;
        end;
    
    implementation
    
    function UpFileEx(): string; stdcall;
    var
        MutPartForm: TIdMultiPartFormDataStream;
        response: string;
        FHttp: Tidhttp;
    begin
        FHttp := Tidhttp.Create(nil);
        FHttp.HandleRedirects := true;
        FHttp.AllowCookies := true;
    
        MutPartForm := TIdMultiPartFormDataStream.Create;
        MutPartForm.AddFormField('act', 'upload');
        MutPartForm.AddFormField('upcount', '1');
        MutPartForm.AddFormField('filepath', 'data');
        MutPartForm.AddFormField('file1', 'filename="' + UpFileName + '"');
        MutPartForm.AddFormField('Submit', 'Submit');
        MutPartForm.AddFile('file1', UpFileName, 'text/plain');
        try
            response := FHttp.Post(UpUrl, MutPartForm);
        //Messagebox(0, PAnsiChar(response), 'ca', MB_OK);
        finally
            MutPartForm.Free;
            FHttp.Free;
        end;
    end;
    
    function DownFileEx(): string; stdcall;
    begin
        UrlDownloadToFile(nil, PChar(DownUrl), PChar(DownFileName), 0, nil);
    end;
    
    constructor TUpDownFile.Create;
    begin
        //
    end;
    
    procedure TUpDownFile.UpFile;
    begin
        //FHandle := CreateThread(nil,0,@UpFileEx,nil,0,FThreadID);
        UpFileEx;
    end;
    
    procedure TUpDownFile.DownFile;
    begin
       // FHandle := CreateThread(nil,0,@DownFileEx,nil,0,FThreadID);
       DownFileEx;
    end;
    
    procedure TUpDownFile.Close;
    begin
      //ExitThread(FThreadID);
    end;
    
    end.
  • 相关阅读:
    数据库中group by和having语法使用方法
    loadrunner---HTML 和URL两种模式录制的区别
    loadrunner---设置检查点
    jmeter---接口测试
    H5前端页面性能测试
    Nginx服务器中的Nginx.conf配置文件主要内容解释
    测试用例的八大要素
    mysql在linux中的操作命令
    软件兼容性测试
    liunx中的gcc命令
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/3822421.html
Copyright © 2011-2022 走看看