1

FileUpload コントロールをフォームに配置しました。クライアントがファイルを参照して選択すると、そのファイルをメール メッセージの添付ファイルとして使用したいと考えています。この目的のために、私は次のように書いています。

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

「ファイル 'C:\Windows\SysWOW64\inetsrv\Water lilies.jpg' が見つかりませんでした」というエラーが表示されます。問題は、ファイルへのパスがクライアントのパスと異なることです。クライアントのマシンにあるファイルをメール メッセージに添付するにはどうすればよいですか?

4

3 に答える 3

1

FileNameプロパティは、ファイルの名前であり、パスは含まれていません。パスにinetsrvが表示されているのは、それがIISの作業ディレクトリだからです。おそらく、保存を処理するPostedFileプロパティを利用することをお勧めします。

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

于 2012-04-27T09:30:51.300 に答える
1

Server.MapPath で問題が解決するはずです。

 Attachment attachment = new Attachment(Server.MapPath(fileUpload1.FileName));
于 2012-04-27T09:25:30.953 に答える
1

これを見てくださいhttp://imar.spaanjaars.com/412/sending-attachments-directly-from-a-fileupload-control

于 2012-04-27T10:32:11.760 に答える