问题描述
尝试让它在我的 MAC 上工作一段时间了,但仍然没有运气。 在 ASP.NET Core 应用程序中,我试图从 Windows Server 上的网络共享中获取内容。我读到您可以在包含以下内容时通过 Startup.cs 启动静态文件:
app.UseFileServer(new FileServerOptions
{
FileProvider = new PhysicalFileProvider(@"\\192.168.178.101\2020$"),RequestPath = new PathString("/2020"),EnableDirectorybrowsing = false
});
请注意,我在 MacOS 笔记本电脑上运行此程序。我也尝试过 SMB URL,但没有运气。我可以通过 Finder 很好地连接到共享。 我总是收到错误“路径必须是绝对的”。该服务器上的共享是一个名为 2020 的文件夹。我也尝试过没有 $,但没有运气。我也试过把 smb:// 放在前面,但它把 UNC 看作是相对文件夹路径。
我真的希望有人能帮我解决这个问题。
解决方法
地址格式不正确。它不知道协议。您可以安装 nuget 包 SharpCifs
并获取文件:
var folder = new
SmbFile("smb://UserName:Password@ServerIP/ShareName/FolderName/");
var modeDate = new DateTime(2000,1,DateTimeKind.Utc);
foreach (SmbFile item in folder.ListFiles())
{
var modeDate = epocDate.AddMilliseconds(item.LastModified()).ToLocalTime();
var name = item.GetName();
var type = item.IsDirectory() ? "dir" : "file";
var date = lastModDate.ToString("yyyy-MM-dd HH:mm:ss");
var msg = $"{name} ({type}) - LastMod: {date}";
}