Trzeba tylko określić, co plik jest w stosunku do
- Główny zestaw aplikacji?
- Bieżący katalog?
- Katalog danych aplikacji?
- nazwij to ...
W każdym z tych przypadków, którą proponujemy, aby przekształcić go w bezwzględną ścieżką przez Path.Combine
metody:
public static readonly string AppRoot = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
...
//calling with a '/' heading makes the path absolute so I removed it
var fullPath = Path.Combine(AppRoot, "images/Customswipe_a.png");
var exists = File.Exists(fullPath);
ten sposób można zagwarantować, gdzie szukasz. Nawet okna dialogowe Otwórz/Zapisz plik mogą zmienić twój bieżący katalog. Dlatego wywołanie File.Exists
bez pełnej ścieżki jest zazwyczaj błędną decyzją.
w odniesieniu do ścieżki wykonania? Ponadto, jeśli to nie jest sieć, dlaczego używasz '/' instoeed of \\ ' –
Czy przypadkiem pominąłeś tag" asp.net "i zamiast tego potrzebujesz Server.MapPath? –