0

我有问题如何从我将文件保存到数据库中时删除 /~/ 字符我的问题是当它们没有文件到文件上传控制器时我将 NavigateUrl 表单 asp 超链接添加到 savePath 以保存它但我得到异常它不能'找不到目录

找不到路径“C:\inetpub\wwwroot\ideaPark\DesktopModules\ResourceModule\pdf_resources\~\DesktopModules\ResourceModule\pdf_resources\New Text Document.txt”的一部分。

//save pdf docs 
String savePathPDF_Resouce = @"~/DesktopModules/ResourceModule/pdf_resources/";
String savePathPDF_Vocab = @"~/DesktopModules/ResourceModule/pdf_resources/";
if (fuPDFDoc.HasFile || fupdfVocabularyURL.HasFile)
{

    String fileName = fuPDFDoc.FileName;
    String fileName_Vocab = fupdfVocabularyURL.FileName;
    savePathPDF_Resouce += fileName;
    savePathPDF_Vocab += fileName_Vocab;
    fuPDFDoc.SaveAs(Server.MapPath(savePathPDF_Resouce));
    fupdfVocabularyURL.SaveAs(Server.MapPath(savePathPDF_Vocab));
}
else
 if (!fuPDFDoc.HasFile || !fupdfVocabularyURL.HasFile)
{

    savePathPDF_Resouce += hl_doc_res.NavigateUrl.ToString();
    savePathPDF_Vocab += hl_doc_vocab.NavigateUrl.ToString();
    fuPDFDoc.SaveAs(Server.MapPath(savePathPDF_Resouce));
    fupdfVocabularyURL.SaveAs(Server.MapPath(savePathPDF_Vocab));
}
4

1 回答 1

1

你可以使用这样的东西来获取路径:

// root filesystem path for the application (C:\inetpub\wwwroot\ideaPark)
string virtualPathRoot = AppDomain.CurrentDomain.BaseDirectory;

// path relative to the application root (/DesktopModules/ResourceModule/pdf_resources/)
string relativePath = savePathPDF_Resouce.TrimStart("~");

// save here
string targetPath = Path.Combine(virtualPathRoot, relativePath);
于 2013-05-16T19:49:54.190 回答