У нас есть форма в нашей корпоративной интрасети, где пользователи помещают данные, а затем нажимают на данные отправки и данные собираются в электронное письмо и отправляются определенному списку пользователей. У нас есть site.aspx.cs, где я указываю, какие данные отправляются по электронной почте.Загрузить файл в форму на интрасети и по электронной почте
Мы добавляем поле, в котором пользователь может загружать файл при создании формы, но у меня возникают проблемы с добавлением этого файла .cs, чтобы он мог отправлять данные по электронной почте.
Это HTML, где я создал поле и кнопку Загрузить
<body>
<div class="containerContent">
<div class="content">
<div class="outer4ColLeft">
<ul class="subnav">
<li>
<a href="../corporate_resources.aspx">Documents</a>
</li>
<li>
<a href="../mission_ethics.aspx">Mission & Ethics Statements</a>
</li>
<li>
<a href="../history.aspx">History</a>
</li>
<li>
<a href="../associate_profiles.aspx">Associate Profiles</a>
</li>
<li class="activeSub">
<a href="../corporate_form.aspx">Corporate Forms</a>
</li>
</ul>
<!--#include file="../includes/quicklinksForm.aspx"-->
</div>
<div class="outer12ColRight">
<h1>
<span></span>
<img height="45" alt="Odd Occurrence Report" src="../images/corporate/h1_oddOccurrence.jpg" />
</h1>
<div class="formContent">
<form id="form1" class="forms" runat="server">
<asp:Panel ID="formPanel" Visible="true" runat="server">
<h3>Note: An odd occurrence is any unplanned interruption</h3>
<asp:ValidationSummary ID="oddValidationSummary" class=".redText" runat="server" Font-Bold="True" />
<fieldset>
<legend>General</legend>
<div class="profileRow1Col1">
<p>
<asp:RequiredFieldValidator ID="valPartNumber" runat="server" ControlToValidate="txtPartNumber" ErrorMessage="Part Number is required.">*</asp:RequiredFieldValidator>
Part Number</p>
<p>
<asp:RequiredFieldValidator ID="valEmployeeID" runat="server" ControlToValidate="txtEmployeeID" ErrorMessage="Employee ID is required.">*</asp:RequiredFieldValidator>
Employee ID</p>
<p>
<asp:RequiredFieldValidator ID="valCurrentJobNumber" runat="server" ControlToValidate="txtCurrentJobNumber" ErrorMessage="Current Job Number is required.">*</asp:RequiredFieldValidator>
Current Job Number</p>
<p>
<asp:RequiredFieldValidator ID="valRevisionLevel" runat="server" ControlToValidate="txtRevisionLevel" ErrorMessage="Revision Level is required.">*</asp:RequiredFieldValidator>
Revision Level</p>
<p>
<asp:RequiredFieldValidator ID="valOperationNumber" runat="server" ControlToValidate="txtOperationNumber" ErrorMessage="Operation Number is required.">*</asp:RequiredFieldValidator>
Revision Level</p>
</div>
<div class="profileRow1Col2">
<p>
<asp:TextBox ID="txtPartNumber" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="txtEmployeeID" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="txtCurrentJobNumber" runat="server"></asp:TextBox>
<p>
<asp:TextBox ID="txtRevisionLevel" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="txtOperationNumber" runat="server"></asp:TextBox>
</p>
</div>
</fieldset>
<fieldset>
<legend>Changes</legend>
<p>
<asp:RequiredFieldValidator ID="valProposedChange" runat="server" ControlToValidate="txtProposedChange" ErrorMessage="Proposed Change description is required." Text="*"></asp:RequiredFieldValidator>
Proposed Change</p>
<p>
<asp:TextBox ID="txtProposedChange" runat="server" height="100px" TextMode="MultiLine" Width="600px"></asp:TextBox>
</p>
<p>
<asp:RequiredFieldValidator ID="valChangeReason" runat="server" ControlToValidate="txtChangeReason" ErrorMessage="Reason for Proposed Change description is required." Text="*"></asp:RequiredFieldValidator>
Reason for Proposed Change</p>
<p>
<asp:TextBox ID="txtChangeReason" runat="server" height="100px" TextMode="MultiLine" Width="600px"></asp:TextBox>
</p>
</fieldset>
<p>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" />
<asp:Button ID="btnReset" runat="server" CausesValidation="False" OnClick="btnReset_Click" Text="Reset" />
</p>
Вот это .cs я в настоящее время говорю, что электронная почта собирается отправить эти текущие поля в теле. Мне нужно знать, как сделать файл, загруженный в HTML-отправить как вложение в этом письме. Есть идеи?
protected void Button1_Click(object sender, EventArgs e)
{
String toAddress = ""; String fromAddress = "[email protected]";
SmtpClient smtpClient = new SmtpClient("mail.companyemail.com");
smtpClient.Port = 25;
MailMessage message = new MailMessage();
message.IsBodyHtml = false;
message.Priority = MailPriority.High;
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
try
{
message.Subject = "Program Change";
message.Body = "Part Number: " + txtPartNumber.Text.Trim() + "\n";
message.Body += "Employee ID: " + txtEmployeeID.Text.Trim() + "\n";
message.Body += "Current Job Number: " + txtCurrentJobNumber.Text.Trim() + "\n" + "\n";
message.Body += "Revision Level: " + txtRevisionLevel.Text.Trim() + "\n";
message.Body += "Operation Number: " + txtOperationNumber.Text.Trim() + "\n";
message.Body += "Proposed Changes: " + txtProposedChange.Text.Trim() + "\n";
message.Body += "Reason for Proposed Change: " + txtChangeReason.Text.Trim() + "\n";
HttpPostedFile file = Request.Files["file"];
Attachment attachment = new Attachment(file.InputStream, file.FileName);
message.Attachments.Add(attachment);
toAddress += "[email protected]";
smtpClient.Send(fromAddress, toAddress, message.Subject, message.Body);
}
catch (Exception ex)
{
formPanel.Visible = false;
errorPanel.Visible = true;
}
formPanel.Visible = false;
errorPanel.Visible = false;
successPanel.Visible = true;
}
Я отметил его, потому что я не был уверен, что ответ останется в Dreamweaver или будет в PHP – Individual101
Я новичок в веб-дизайне. Я использую Dreamweaver для всего, когда меняю сайт. Я пробовал в PHP в прошлом, поэтому я не был уверен. – Individual101
ASP.NET - это не PHP. Они не связаны друг с другом, кроме того, что оба они являются серверными веб-разработками на стороне сервера. Поэтому вы не должны пометить свой вопрос как PHP, если только PHP не задействован. Точно так же не помещайте свой вопрос как Dreamweaver, если ваш вопрос конкретно не связан с некоторым аспектом этой среды IDE. Пометка помогает нам классифицировать вопрос и связывать вас с нужными людьми, чтобы ответить на ваш вопрос, поэтому пометка неправильных вещей затрудняет экспертам поиск вопросов, на которые они могут ответить. – mason