|
|
|
|
using System.Net;
|
|
|
|
|
|
|
|
|
|
namespace DcmToPng.Helper
|
|
|
|
|
{
|
|
|
|
|
public static class DownloadHelper
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 下载
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dcmPathList">Dictionary(文件名称.dcm,共享文件夹路径) </param>
|
|
|
|
|
public static void Down(Dictionary<string, string> dcmPathList)
|
|
|
|
|
{
|
|
|
|
|
if (!Directory.Exists(Constant.DcmPath))
|
|
|
|
|
Directory.CreateDirectory(Constant.DcmPath);
|
|
|
|
|
var i = 0;
|
|
|
|
|
foreach (var item in dcmPathList)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (File.Exists(Path.Combine(Constant.DcmPath, item.Key))) continue;
|
|
|
|
|
using var client = new WebClient();
|
|
|
|
|
// 配置授权账户密码
|
|
|
|
|
var credentials = new NetworkCredential(Constant.UserName, Constant.Password);
|
|
|
|
|
client.Credentials = credentials;
|
|
|
|
|
var buffer = client.DownloadData(item.Value);
|
|
|
|
|
var isSave = Bytes2File(buffer, Constant.DcmPath, item.Key);
|
|
|
|
|
if (isSave) i++;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"[Down][Error]" + item.Key + " | " + e.Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Console.WriteLine($"[DCM文件下载成功]" + i);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将byte数组转换为文件并保存到指定地址
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="buff">byte数组</param>
|
|
|
|
|
/// <param name="path">保存地址</param>
|
|
|
|
|
/// <param name="fileName"></param>
|
|
|
|
|
public static bool Bytes2File(byte[] buff, string path, string fileName)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//如果不存在就创建Enclosure文件夹
|
|
|
|
|
if (Directory.Exists(path) == false)
|
|
|
|
|
Directory.CreateDirectory(path);
|
|
|
|
|
|
|
|
|
|
if (File.Exists(path + fileName))
|
|
|
|
|
File.Delete(path + fileName);
|
|
|
|
|
|
|
|
|
|
var fs = new FileStream(path + fileName, FileMode.CreateNew);
|
|
|
|
|
var bw = new BinaryWriter(fs);
|
|
|
|
|
bw.Write(buff, 0, buff.Length);
|
|
|
|
|
bw.Close();
|
|
|
|
|
fs.Close();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(e.Message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|