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));
{
System.Byte[] bytes = new System.Byte[_stream.Length]();
_stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
_stream.Seek(0, System.IO.SeekOrigin::Begin);
}