我遇到路径字符串数据的问题。我在数据库中有一个字符串columb并在此columb中保留路径。就像这个;
D:\SCANNEDDOCUMENTS\2\3C9DED0628F44190ABF92D3C14F14A14-2-D.pdf
在我的项目中,我将访问IIS上的文档。我为IIS配置了所有设置。我需要一个像这样的网址;
HTTP://LOCALHOST/SCANNEDDOCUMENTS/2/3C9DED0628F44190ABF92D3C14F14A14-2-D.pdf
我不想改变数据库中的路径。他们是原始的本地路径。我只需要在viewmodel上进行更改。因此需要将第一个路径替换为第二个Url。当我从数据库中获得路径值时,我看到了:
D:\\SCANNEDDOCUMENTS\\2\\3C9DED0628F44190ABF92D3C14F14A14-2-D.pdf
有双反斜杠?为什么?如何取代这个像我想要的Url?
我尝试了几件事;
private static string ReplaceDocumentPathLocalToWeb(string path)
{
if (!string.IsNullOrEmpty(path))
{
SArchiveModule archivingModule = ContainerManager.Container.GetInstance<SArchiveModule>();
SbtGeneralParameterModel parameter = archivingModule.GetGeneralParameters();
string docDirectory = parameter.DocumentDirectoryPath;
string docWebDirectory = parameter.DocumentWebRootPath + @"/" + parameter.DocumentWebFolderPath;
path.Replace(docDirectory, docWebDirectory);
path.Replace("\"", "/");
if (path.StartsWith(@"/"))
{
path.TrimStart(new char[] { '/' });
}
if (path.EndsWith(@"/"))
{
path.TrimEnd(new char[] { '/' });
}
}
return path;
}
路径=&#34; d:\ SCANNEDDOCUMENTS \ 2 \ 3C9DED0628F44190ABF92D3C14F14A14-2-D.pdf&#34 ;;
来自数据库的参数;
docDirectory =&#34; d:\ SCANNEDDOCUMENTS&#34; docWebDirectory =&#34; HTTP:// LOCALHOST / SCANNEDDOCUMENTS&#34;
但是这段代码也不行:
path.Replace(docDirectory, docWebDirectory);
我该怎么办才能更换?为什么我的数据带有双反斜杠?在数据库中,它有一个反斜杠?
答案 0 :(得分:0)
对不起我错了。现在我遇到了问题。我无法看到string.replace结果&#39;因为我需要使用以下代码:
path=path.Replace(docDirectory, docWebDirectory);
path=path.Replace("\"", "/");
if (path.StartsWith(@"/"))
{
path=path.TrimStart(new char[] { '/' });
}
if (path.EndsWith(@"/"))
{
path=enter code here`path.TrimEnd(new char[] { '/' });
}
这真是个愚蠢的错误......