У меня есть веб-приложение ASP.net
, которое сохраняет все данные, введенные в сеанс и в конце, отправляет электронное письмо со всеми подробностями, включая вложение загруженного файла (все это в настоящее время отлично работает).Asp.net Несколько загрузок файлов
Проблема заключается в том, что для загрузки файла требуется изменение. Я хочу теперь иметь возможность загружать несколько документов, но отдельно, поэтому в основном пользователь находит файл для загрузки, а затем нажимает кнопку «Добавить». Затем поле загружаемого файла должно быть очищено, а таблица должна заполнить загруженный файл (ы) кнопкой «Удалить/Удалить» для каждого загруженного файла.
Детали, которые должны быть отображены в этой таблице:
- Имя файла
- Опция выбрана форма новый выпадающий список
- кнопку Удалить
Как я сказал, что я одного загрузка файлов работает с использованием кода позади, но я понятия не имею, как реализовать то, что мне нужно, чтобы все загруженные документы были отправлены в мой адрес электронной почты.
Текущий HTML
<div class="form-group">
<div class="col-sm-offset-2 col-sm-5">
<div class="fileinput fileinput-new input-group" data-provides="fileinput">
<div class="form-control" data-trigger="fileinput" style="background-color: #ededed">
<span class="fileinput-filename"></span>
</div>
<span class="input-group-addon btn btn-default btn-file">
<span class="fileinput-new">
<span class="glyphicon glyphicon-folder-open" title="Click to select a file."></span>
</span>
<span class="fileinput-exists">
<span class="glyphicon glyphicon-folder-open" title="Click to change the selected file."></span>
</span>
<input type="file" name="..." id="fuAttachment" runat="server" />
</span>
</div>
</div>
<div class="col-sm-3">
<asp:DropDownList ID="Step03WebTypeDD" runat="server" class="form-control">
<asp:ListItem Value="- - Please select - -">- - Please select - -</asp:ListItem>
<asp:ListItem Value="Requirements">Requirements</asp:ListItem>
<asp:ListItem Value="Functional specification">Functional specification</asp:ListItem>
<asp:ListItem Value="Page Content">Page Content</asp:ListItem>
<asp:ListItem Value="Page Designs">Page Designs</asp:ListItem>
<asp:ListItem Value="Page Designs">Other</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-sm-1">
<asp:LinkButton ID="UploadAddButton" runat="server" OnClick="Step05UploadAddButton_Click" CssClass="btn btn-success pull-right" ToolTip="Click to upload the file.">
<span class="glyphicon glyphicon-plus"></span> Add
</asp:LinkButton>
</div>
</div>
Текущий код За
protected void Step05UploadAddButton_Click(object sender, EventArgs e)
{
var file = fuAttachment.PostedFile;
if (file != null && fuAttachment.PostedFile.FileName != "")
{
var content = new byte[file.ContentLength];
file.InputStream.Read(content, 0, content.Length);
Session["FileContent"] = content;
Session["FileContentType"] = file.ContentType;
Session["File"] = fuAttachment.PostedFile.FileName;
Session["AttachmentProvided"] = "Yes";
}
else
{
Session["FileContent"] = "";
Session["FileContentType"] = "";
Session["File"] = "";
Session["AttachmentProvided"] = "No";
}
}
Мой код позади не отражает вариант, выбранный, но нужно будет, чтобы я мог показать его на моей странице подтверждения (HTML, показанный ниже)
<div class="form-group">
<asp:Label ID="Label6" class="col-xs-6 col-sm-3 control-label" runat="server" Text="Attachment provided:"></asp:Label>
<div class="col-xs-6 col-sm-9 form-control-static">
<% if (Session["AttachmentProvided"] == "Yes")
{%>
Yes (<%=Session["File"] %>)
<%}
else
{ %>
No
<%} %>
</div>
</div>