я следующий код:Server.MapPath возвращает путь с папкой, которая не существует
var dir = @"Content\Posts\" + yr + @"\" + mnth + @"\";
var a = Path.Combine(dir, dy.ToString() + pId.ToString() + ".txt");
//a contains: "Content\\Posts\\2013\\8\\file01.txt"
stts = obj.NotifyMail(title, writeup, "[email protected]", a);
И чем в функции NotifyMail у меня есть это:
public bool NotifyMail(string subject, string body, string toAdd, string filePath)
{
…
string attachments = HttpContext.Current.Server.MapPath(filePath);
//NOW here attachments contains: "G:\\Program Files\\Derby\\Work\\Development\\proj\\proj\\`Post`\\Content\\Posts\\2013\\8\\file01.txt"
var attchmnts = new LinkedResource(attachments);
attchmnts.ContentId = "attchmnts";
…
}
Теперь проблема заключается в NotifyMail
, когда attachments
извлекает путь к физическому файлу через Server.MapPath
, возвращая его путь с недопустимой папкой, включенной в него, т.е. Post
эта папка не существует нигде, даже на жестком диске, и я понятия не имею, как она была поднята nd. Но сказал, что это из-за этой проблемы LinkedResource(attachments);
бросает исключение:
{"Could not find a part of the path ‘G:\\Program Files\\Derby\\Work\\Development\\proj\\proj\\Post\\Content\\Posts\\2013\\8\\file01.txt"’
попробовал, но все же эту дополнительную неизвестную папку на возвращаемом пути. – Maven
Что-нибудь в настройках приложения web.config или IIS, которое упоминает «Сообщение»? Я думаю, это была опечатка сообщений, возможно ... ??? Кроме того, вероятно, не имеет значения, но @ «Content \ Posts \» + yr + @ "\" + mnth + @ "\" должен использовать /, а не \, так как это относительный URL-адрес, а не путь к файлу. –