2013-04-26 3 views
0

привет, я хочу отправить письмо с изображения из Asp.net.не действительный виртуальный путь в SiteMap

У меня есть такая ошибка :: 'http://domain-name.com/slideshow/original/Jellyfish.png' не является действительным виртуальным.

мой код:

try 
    { 
     string _SenderEmailID = ReciverEmailID.Text.ToString(); 
     string _ReciverEmailID = ReciverEmailID.Text.ToString(); 
     string _Sender = FullName.Text.ToString(); 
     string post = "JellyBeans.png"; 
     string ImagePath = "http://www.domain-name.com/slideshow/original/"; 
     string iImage = ImagePath + post; 
     img1.ImageUrl = ImagePath; 

     MailMessage mail = new MailMessage(); 

     mail.To.Add(_ReciverEmailID); 
     mail.From = new MailAddress(_SenderEmailID); 

     mail.Subject = _Sender + " sent you a mail from 'www.domain-name.com"; 
     string Body = "<img alt=\"\" hspace=0 src=\"cid:imageId\" align=baseline border=0 >"; 
     AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html"); 
     LinkedResource imagelink = new LinkedResource(Server.MapPath(ImagePath)+ @post, "image/png"); 
     imagelink.ContentId = "imageId"; 
     imagelink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64; 
     htmlView.LinkedResources.Add(imagelink); 
     mail.AlternateViews.Add(htmlView); 
     SmtpClient smtp = new SmtpClient(); 
     smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; 
     smtp.Send(mail); 
    } 
    catch (Exception ex) 
    { 
     Response.Write(ex.Message); 
    } 

ответ

2

Удалить

Server.MapPath 

от линии

LinkedResource imagelink = new LinkedResource(Server.MapPath(ImagePath)+ @post, "image/png"); 

Server.MapPath используется, когда путь в вашем приложении, виртуальный путь. Ваш URL-адрес изображения является прямым URL-адресом или физическим путем, поэтому MapPath не требуется.

Возвращает путь физического файла, соответствующий указанному виртуальному пути на веб-сервере.

Вы бы использовали MapPath, если ваше изображение было в вашем решении VisualStudio.

+0

когда я удаляю Server.MapPath из LinkedResource imagelink = new LinkedResource (iImage, "image/png"); теперь я сталкиваюсь с новой ошибкой: форматы URI не поддерживаются. @Sam Leach –

+0

Можете ли вы поместить изображение на свой веб-сервер? –

+0

Да, это уже их @Sam Leach –

Смежные вопросы