下面是代碼的簡單的兩行:Path.Combine作用出乎意料
public static void RemoveCoverImageForProduct(int productId)
{
using (var productRepository = new EfProductRepository())
{
var product = productRepository.FindById(productId);
var coverFolderPath = HttpContext.Current.Server.MapPath(@"~/");
var filePath = Path.Combine(coverFolderPath, product.CoverImagePath);
if (File.Exists(filePath))
File.Delete(filePath);
}
}
Server.MapPath()
正在返回:
C:\Users\Sergio\Desktop\MyApp\MyApp.WebUI\
product.CoverImagePath
是返回:
/Public/products/buscar.jpg
他們兩個運行Path.Combine,運行後意義filePath
值的結果是:
/Public/products/buscar.jpg
什麼我期待的是:
C:\Users\Sergio\Desktop\MyApp\MyApp.WebUI\Public\products\buscar.jpg
任何想法,爲什麼這不符合我的預期?
通過謝謝路徑
/Public/products/buscar.jpg
,我不知道這個過載。 – 2012-03-19 02:37:40