zoukankan      html  css  js  c++  java
  • rest api上传和下载文件

    rest api上传和下载文件

    function FileToString(AFileName: string): string;
    var
      LMemoryStream: TMemoryStream;
      LStringStream: TStringStream;
      LDstStream: TMemoryStream;
    begin
      Result := '';
      if not FileExists(AFileName) then
        Exit;
      LMemoryStream := TMemoryStream.Create;
      LStringStream := TStringStream.Create;
      LDstStream := TMemoryStream.Create;
      try
        LMemoryStream.LoadFromFile(ExtractFilePath(ParamStr(0)) + AFileName);
        LMemoryStream.Position := 0;
        ZCompressStream(LMemoryStream, LDstStream);
        LDstStream.Position := 0;
        TNetEncoding.Base64.Encode(LDstStream, LStringStream);
        Result := LStringStream.DataString;
      finally
        LMemoryStream.Free;
        LStringStream.Free;
        LDstStream.Free;
      end;
    end;
    

      

    procedure FileFromString(AFileName, AFileContent: string);
    var
      LStringStream: TStringStream;
      LMemoryStream: TMemoryStream;
      LOrgStream: TMemoryStream;
    begin
      if AFileName = '' then
        Exit;
      LStringStream := TStringStream.Create(AFileContent);
      LMemoryStream := TMemoryStream.Create;
      LOrgStream := TMemoryStream.Create;
      try
        LStringStream.Position := 0;
        TNetEncoding.Base64.Decode(LStringStream, LOrgStream);
        LOrgStream.Position := 0;
        ZDecompressStream(LOrgStream, LMemoryStream);
        LMemoryStream.Position := 0;
        LMemoryStream.SaveToFile(ExtractFileName(AFileName));
      finally
        LStringStream.Free;
        LMemoryStream.Free;
        LOrgStream.Free;
      end;
    end;
    

      

  • 相关阅读:
    std::copy 多次赋值 偏移 内存分配
    chromium http 处理
    c++ 智能指针 传参
    最简单的gn构建 脱离chromium
    简单的nodejs httpserver
    C语言跨文件调用变量方法
    使用node压缩js
    Jmeter压力测试工具安装及使用教程
    前端常见跨域解决方案(全)
    QuickApp 快应用中 或 nodejs 中 API接品调用时 GBK转UTF8
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/10272284.html
Copyright © 2011-2022 走看看