随着.NET Core的开源,大家用Liunx服务器的人越来越多,文件的保存路径也得开始兼容Liunx,如果客户是纯Liunx还好,按照Liunx的方法来打就好了,但是如果是win和Liunx混合着来就GG了
接下来为大家介绍如何在混合服务器下编写文件路径
方法一:判断当前的服务器操作系统环境
通过nuget引入包 System.Runtime.InteropServices
通过这个程序集我们可以获得我们程序的宿主环境的操作系统,目前有三种选项:WIN,LIUNX,OSX
该命名空间下有个RuntimeInformation.IsOSPlatform用来判断操作系统
RuntimeInformation.IsOSPlatform(OSPlatform.Linux)//判断是否为Liunx
RuntimeInformation.IsOSPlatform(OSPlatform.Windows)/判断是否为Win
RuntimeInformation.IsOSPlatform(OSPlatform.OSX)/判断是否为OSX
三个方法的返回值都是bool值,可以很方便的判断出是哪个操作系统,我们可以根据操作系统来拼接两种路径
例如:
这样就解决了混合服务器的路径兼容问题。
方法二:Path.Combine()
这个方法可以自动判断出当前操作系统是什么然后自动变成当前系统的路径,但是进行相对路径的拼接时会出现少“\”或者“/”的问题,这个时候解决的最好的方法可以用方法一。
欢迎各位大佬对文中的错误进行指正。