• C#利用WebService接口下载文件


     1             WebTest.RtTfSimDataInterface test = new WebTest.RtTfSimDataInterface();
     2             //string strBasic = test.GetTfBasicDataInfo("admin", "123", "11", true);
     3             string strRealTime = test.GetTfRealTimeDataInfo("admin", "11", "11", true);
     4             //string strjson = HttpUtility.UrlDecode(HttpUtility.UrlEncode(str));
     5 
     6             WebTest.xsdDwgInfo dd = test.GetTfDwgBinaryInfo("admin", "admin", "1", 0);
     7 
     8             /////////////////////////////////////////////////////////////////////////////
     9             int nReadSize = dd.mnReadSize;//读取文件大小
    10             sbyte[] mySByte = new sbyte[nReadSize];
    11             mySByte = dd.mpBuffer;
    12             bool bEof = dd.mbEof;
    13             string strFileName = dd.mstrFileName;//文件名称
    14             string strDwg_UpdateTime = dd.mstrDwgUpdateTime;//文件最后更新时间
    15             //写数据
    16 
    17             byte[] arr = new byte[nReadSize];
    18             Buffer.BlockCopy(mySByte, 0, arr, 0, nReadSize);//sbyte[]转byte[]
    19 
    20             if (!File.Exists("E:\a.dwg"))
    21             {
    22                 FileStream FsCreate = new FileStream("E:\a.dwg", FileMode.Create);
    23                 FsCreate.Close();
    24             }
    25             FileStream fs = new FileStream("E:\a.dwg", FileMode.Append, FileAccess.Write);
    26             fs.Write(arr, 0, nReadSize);//写入byte[]
    27             fs.Close();
    28 
    29             int nPosition = dd.mnReadSize;//读取文件位置
    30 
    31             while (!bEof)//文件未下载完成,继续下载
    32             {
    33                 dd = test.GetTfDwgBinaryInfo("admin", "admin", "1", nPosition);
    34                 nPosition += dd.mnReadSize;
    35                 bEof = dd.mbEof;
    36                 nReadSize = dd.mnReadSize;
    37                 sbyte[] sbyteTmp = new sbyte[nReadSize];
    38                 sbyteTmp = dd.mpBuffer;
    39 
    40                 byte[] arrTmp = new byte[sbyteTmp.Length];
    41                 Buffer.BlockCopy(sbyteTmp, 0, arrTmp, 0, sbyteTmp.Length);
    42 
    43                 if (!File.Exists("E:\a.dwg"))
    44                 {
    45                     FileStream FsCreate = new FileStream("E:\a.dwg", FileMode.Create);
    46                     FsCreate.Close();
    47                 } FileStream fsTmp = new FileStream("E:\a.dwg", FileMode.Append, FileAccess.Write);
    48                 fsTmp.Write(arrTmp, 0, nReadSize);
    49                 fsTmp.Close();
    50             }
  • 相关阅读:
    面向对象静态语言的模型
    语言的静态分析技术
    面向对象的核心元素与机制
    Lua 笔记
    Linux配置系统
    Linux文件类型
    Wijmo 日历插件
    窗外大雨,心里小雨
    一次胆战心惊的服务器经历
    一次胆战心惊的服务器经历
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4949138.html
Copyright © 2020-2023  润新知