2013-05-16 2 views
0

У меня проблема с удалением/~/символом, когда я сохраняю файл в базе данных. Моя проблема в том, что они не являются файлами в диспетчере загрузки файлов. Я grape форму NavigateUrl asp hyper link и добавьте в SavePath, чтобы спасти его, но я получаю исключение не может найти каталогКак удалить символ ~ из asp HyperLink

не удалось найти часть пути «C: \ Inetpub \ Wwwroot \ Идеапарк \ 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)); 
} 
+3

вы не можете сделать 'string.replace ("~", string.Empty)' на 'Строка savePathPDF_Resouce и String savePathPDF_Vocab', если Каталог существует на WebServer с точки зрения «Виртуального каталога», вам не нужно передавать «~» в пути сохранения, или вы можете использовать '' ', если вы используете' Server.MapPath' Метод, например 'string path = string.Concat (Server.MapPath (" ~/TempFiles/"), FileUpload1.FileName);' – MethodMan

ответ

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); 
Смежные вопросы