如何解决ASP.NET Core PhysicalFileProvider UNC 错误
尝试让它在我的 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}";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。