ASP .NET Core 访问Windows共享目录
安装Neget包
Install-Package SharpCifs.Std
CodeSample
using SharpCifs.Smb;
using System.IO;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//Windows文件共享目录
string shareUrl = @"\\Rainfate\1";
//这里使用的共享目录字符串模板:smb://10.50.140.4/temp/MG/
//smb:是固定的,后面接地址 文件夹目录一定要以“/”结尾不然获取会报错,文件不需要
//文件夹最后一定要加斜杠,文件不用加
shareUrl = shareUrl.Replace('\\', '/').TrimEnd('/') + "/";
//文件夹认证
NtlmPasswordAuthentication auth = null;
//auth = new NtlmPasswordAuthentication("UserName:Password");
//auth = new NtlmPasswordAuthentication("Domain", "UserName", "Password");
var smb = new SmbFile($"smb:{shareUrl}", auth: auth);
//判断是否可以正常访问
smb.Connect();
//获取所有共享目录的文件和文件夹
var list = smb.ListFiles();
//获取所有文件
var smbListFiles = list.Where(f => f.IsFile()).ToList();
//获取所有文件夹
var smbListFolders = list.Where(f => f.IsDirectory()).ToList();
//获取文件/文件夹名称。
var name = list.First().GetName();
//文件夹后面会自带一个斜杠,代表文件夹
System.Console.WriteLine("folder/");
System.Console.WriteLine("file.txt");
//获取文件流
Stream stream = smbListFiles.First().GetInputStream();
stream.Close();
}
}
}
标签:Core,ASP,shareUrl,list,auth,文件夹,var,NET,smb
From: https://www.cnblogs.com/RainFate/p/16867447.html