3

ユーザーが doc、docx、または pdf 形式のファイルをアップロードする必要がある Web フォームを作成しています。送信すると、フォームは添付ファイルとともに電子メール アドレスに投稿されます。メールアドレスへのフォームの投稿を正常に実装しましたが、ファイルを添付する方法がわかりません。助けてください。

public void ProcessRequest(HttpContext context)
{
    string template = context.Request["template"];

    string responseHtml = BuiltTemplateHtml(context.Request, template, "response", false);
    string reuestEmailHtml = BuiltTemplateHtml(context.Request, template, "request_email", false);
    string contactEmail = GetTagsInnerText(reuestEmailHtml, "to", 0);
    string contactName = GetTagsInnerText(reuestEmailHtml, "toname", 0);

    string responEmailHtml = BuiltTemplateHtml(context.Request, template, "response_email", true, "contactName", contactName, "contactEmail", contactEmail);

    sendEmail(reuestEmailHtml);
    sendEmail(responEmailHtml);
    context.Response.ContentType = "text/html";
    context.Response.Write(responseHtml);

    SaveAttachments(context, reuestEmailHtml);

}

private void SaveAttachments(HttpContext context, string settingFile)
{
    if (context.Request.Files.Count > 0)
    {
        string fileNameformat = GetTagsInnerText(settingFile, "fileNameformat", 0);
        string[] savefiles = GetTagsInnerText(settingFile, "savefiles", 0).Split('|', ',');
        string[] allowextensions = GetTagsInnerText(settingFile, "allowextensions", 0).Split('|', ',');                
        string path = cleanPath(fileNameformat);

        MailMessage mail = new MailMessage();

        // attachment code here        
    }
}
4

2 に答える 2

3

MailMessageクラスには、添付ファイルをメッセージに追加するために使用できるAttachmentsプロパティがあります。

于 2010-10-30T09:15:53.910 に答える
2

これをチェックして、

// Create  the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);

// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);

// Add the file attachment to this e-mail message.
message.Attachments.Add(data);

詳細については、msdn のこのリンクを確認して ください。 http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.attachments.aspx

于 2010-10-30T09:17:01.797 に答える