zoukankan      html  css  js  c++  java
  • C# .NET Core Linux、Windows统一文件路径解决方法

    我们上传或者下载时需要保存在指定目录,处理windows和linux目录路径问题:

    //方案1  运行时自带
    var path1 = Path.Combine("xxx", "yyy", "zzz");
    //方案2  反斜杠 两个平台都可以用
    var path2 = ("xxx/yyy/zzz");
    //方案3 根据不同环境生成不同文件路径,GetRuntimeDirectory 自己编写
    //判断平台环境,路径可以任意格式"xxx/yyy\zzz" 
    //实际上多个开发协同的时候就是比较混乱,开发环境都没问题,集成的时候报错频繁
    var path3 = GetRuntimeDirectory("xxx/yyy/zzz");

    1、需要引用 System.Runtime.InteropServices

    public static string GetRuntimeDirectory(string path)
    {
        //ForLinux
        if (IsLinuxRunTime())
            return GetLinuxDirectory(path);
        //ForWindows
        if (IsWindowRunTime())
            return GetWindowDirectory(path);
        return path;
    }
    
    //OSPlatform.Windows监测运行环境
    public static bool IsWindowRunTime()
    {  
        return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
    }
    
    //OSPlatform.Linux运行环境
    public static bool IsLinuxRunTime()
    {
        return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Linux);
    }
    
    public static string GetLinuxDirectory(string path)
    {
        string pathTemp = Path.Combine(path);
        return pathTemp.Replace("\", "/");
    }
    public static string GetWindowDirectory(string path)
    {
        string pathTemp = Path.Combine(path);
        return pathTemp.Replace("/", "\");
    }
  • 相关阅读:
    html +JS 自学
    Linux下SVN多版本库管理
    Jenkins更换国内源
    Kubernetes Service
    Kubernetes Pod
    ubuntu下vim配置日常工作版本
    PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)
    mongodb 片键需要思考的问题
    SpringBoot--Easycode插件自定义模板
    Docker-概述
  • 原文地址:https://www.cnblogs.com/guozhaoxin/p/14169755.html
Copyright © 2011-2022 走看看