728x90
728x170
■ 디렉토리/파일 경로에서 URL를 구하는 방법을 보여준다.
▶ 디렉토리/파일 경로에서 URL 구하기 예제 (C#)
using System;
string path = @"c:\foo";
Console.WriteLine(GetFileURL(path));
▶ 디렉토리/파일 경로에서 URL 구하기 (C#)
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
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] TypeConverter 클래스 : ConvertFrom 메소드를 사용해 문자열에서 지정 타입으로 변환하기 (0) | 2022.06.21 |
---|---|
[C#/COMMON] UrlCreateFromPath API 함수를 사용해 디렉토리/파일 경로에서 URI 구하기 (0) | 2022.06.21 |
[C#/COMMON] Uri 클래스 : EscapeUriString/UnescapeDataString 정적 메소드를 사용해 이스케이프 처리하기 (0) | 2022.06.21 |
[C#/COMMON] UriBuilder 클래스 사용하기 (0) | 2022.06.21 |
[C#/COMMON] Uri 클래스 : URI 문자열에서 퍼센트 인코딩(percent-encoding) 사용하기 (0) | 2022.06.21 |
[C#/COMMON] 열거형 최대값 구하기 (0) | 2022.06.21 |
[C#/COMMON] List<T> 클래스 : Find 메소드를 사용해 항목 찾기 (0) | 2022.06.21 |
[C#/COMMON/.NET6] Decimal 구조체 : Divide 메소드를 사용해 나누기 연산 정밀도 높이기 (0) | 2022.06.21 |
[C#/COMMON] Activator 클래스 : CreateInstance 정적 메소드를 사용해 제네릭 객체 생성하기 (0) | 2022.06.21 |
[C#/COMMON] yield break 명령문을 사용해 반복자 끝내기 (0) | 2022.06.21 |