첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ 디렉토리/파일 경로에서 URL 구하기 예제

using System;

string path = @"c:\foo";

Console.WriteLine(GetFileURL(path));

 

728x90

 

▶ 디렉토리/파일 경로에서 URL 구하기

using System;
using System.IO;
using System.Text;

#region URL 구하기 - GetURL(path)

/// <summary>
/// URL 구하기
/// </summary>
/// <param name="path">경로</param>
/// <returns>URL</returns>
public string GetURL(string path)
{
    StringBuilder stringBuilder = new StringBuilder();

    foreach(char character in path)
    {
        if
        (
            (character >= 'a' && character <= 'z') ||
            (character >= 'A' && character <= 'Z') ||
            (character >= '0' && character <= '9') ||
            character == '+' ||
            character == '/' ||
            character == ':' ||
            character == '.' ||
            character == '-' ||
            character == '_' ||
            character == '~' ||
            character > '\xFF'
        )
        {
            stringBuilder.Append(character);
        }
        else if(character == Path.DirectorySeparatorChar || character == Path.AltDirectorySeparatorChar)
        {
            stringBuilder.Append('/');
        }
        else
        {
            stringBuilder.Append(string.Format("%{0:X2}", (int)character));
        }
    }

    if(stringBuilder.Length >= 2 && stringBuilder[0] == '/' && stringBuilder[1] == '/')
    {
        stringBuilder.Insert(0, "file:");
    }
    else
    {
        stringBuilder.Insert(0, "file:///");
    }

    return stringBuilder.ToString();
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요