ASP.NET - FileUplaod文件名显示不同的路径

时间:2012-04-27 09:19:52

标签: asp.net file-upload attachment mailmessage

我已将FileUpload控件放到我的表单上。当客户端浏览文件并选择一个文件时,我想将该文件用作邮件的附件。为此,我写道:

 Attachment attachment = new Attachment(fileUpload1.FileName);
 mail.Attachments.Add(attachment); 

我收到一条错误消息:“无法找到文件'C:\ Windows \ SysWOW64 \ inetsrv \ Water lilies.jpg'。”事情是文件的路径不同于客户端中的路径。如何将客户端计算机上的文件附加到邮件消息上?

3 个答案:

答案 0 :(得分:1)

Server.MapPath应该解决您的问题。

 Attachment attachment = new Attachment(Server.MapPath(fileUpload1.FileName));

答案 1 :(得分:1)

FileName属性为您提供了 - 文件名,不包含路径。你在路径中看到inetsrv因为那是IIS的工作目录。您可能希望使用PostedFile属性,它将为您处理保存:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.postedfile.aspx

答案 2 :(得分:1)