상대 URL이 있고 응용 프로그램을 실행하는 계정에 적절한 사용 권한이 있다고 가정하면 파일에 올바른 경로 이름을 얻지 못할 수도 있습니다. 그것은 System.IO.FileInfo의 인스턴스를 반환 것
using System.IO;
public FileInfo GetFileInfo(string filename)
{
if(filename == null)
throw new ArgumentNullException("filename");
FileInfo info = new FileInfo(filename);
if(!Path.IsPathRooted(filename) && !info.Exists)
{
string[] paths = {
Environment.CurrentDirectory,
AppDomain.CurrentDomain.BaseDirectory,
HostingEnvironment.ApplicationPhysicalPath,
};
foreach(var path in paths)
{
if(path != null)
{
string file = null;
file = Path.Combine(path, filename);
if(File.Exists(file))
{
return new FileInfo(file);
}
}
}
}
throw new FileNotFoundException("Couldn not find the requested file", filename);
}
하지만 당신은 쉽게 문자열 (전체 경로)을 반환에 적응 할 수
당신은 파일의 전체 경로를 찾으려면이 뭔가를 시도 할 수 있습니다.
오류로 인해 파일 경로가 잘못되었을 수 있습니다. 서비스가 올바른 경로로 구성되어 있는지 확인하십시오. – Igarioshka
ApplicationPoolIdentity에 'ApplicationPoolIdentity'를 설정하고 여기에 결과를 게시 해 보았습니까? – Saravanan
호스트 된 사이트는 시스템 리소스에 대한 제한된 액세스 권한을 가지기 때문에 동일한 가상 디렉터리를 가진 이러한 종류의 파일을 갖는 것이 좋습니다. – Saravanan