D365,实现批量上传和下载文件的工具(二)

D365中我们经常面临一个问题,附件太多,想批量上传下载。

下面讲解下批量上传下载工具的下载功能部分,如有需要更多源代码,请下方留言提供联系方式。

1.实现功能,界面未优化;

根据创建用户下载特定主档数据的附件,这里大家可以根据实际应用需求来设置下载条件,这里不做展开;

2.关键代码;

2.1 将文件流写入本地文件

 static public void SaveToDisk(byte[] bytes, string saveFullPath)
        {
            var fullPath = Path.GetDirectoryName(saveFullPath);
            //如果没有此文件夹,则新建
            if (!Directory.Exists(fullPath))
            {
                Directory.CreateDirectory(fullPath);
            }
            //创建文件,返回一个 FileStream,它提供对 path 中指定的文件的读/写访问。
            using (FileStream stream = File.Create(saveFullPath))
            {
                //将字节数组写入流
                stream.Write(bytes, 0, bytes.Length);
                stream.Close();
            }
        }

2.2 将文件流转成byte数组传出

this.streamToBytes(DocumentManagement::getAttachmentStream(docuRef));

 public System.Byte[] streamToBytes(System.IO.Stream _stream)
 {
        System.Byte[] bytes = new System.Byte[_stream.Length]();
        _stream.Read(bytes, 0, bytes.Length);
        // 设置当前流的位置为流的开始
        _stream.Seek(0, System.IO.SeekOrigin::Begin);
        return bytes;
 }
2.3 请使用soap调用;
原文地址:https://www.cnblogs.com/alfred-cn/p/D365.html