我有一封邮件表格,其中包含一些带有多个文件的字段。我怎么得到所有字段的文本。但无法获取从客户端上传的文件。在这里,我使用jquery多文件上传插件。但是在调试方面,我总是从此上传控件获取HasFile false。有关更多详细信息,我提供此代码:
HTML标记:
<tr>
<td style="width: 20%">Attach Files </td>
<td>
<asp:FileUpload ID="file_upload" runat="server" AllowMultiple="true" CssClass="multi" />
<br />
<asp:GridView ID="gv_file_list" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" BackColor="White" BorderColor="White" BorderStyle="None" CommandArgument='<%# Eval("Id") %>' CommandName="DeleteFile" CssClass="theme-font" Font-Underline="True" Text="x" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("File_Title") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Label ID="lblMessage" runat="server" />
</td>
</tr>
这是我获取上传文件的代码:
bool FileAttached;
if (file_upload.HasFile) // which always returns false
{
FileAttached = true;
}
else
{
FileAttached = false;
}
myEmail.Body = CKEditor1.Text.Trim();
myEmail.IsFileAttached = FileAttached;
myEmail.SentDateTime = DateTime.Now;
HttpFileCollection fileCollection = Request.Files;
double tot_file_size = 0;
for (int i = 0; i < fileCollection.Count; i++)
{
File myFile = new File();
HttpPostedFile uploadfile = fileCollection[i];
string fileTitle = Path.GetFileName(uploadfile.FileName);
string fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
string fileType = System.IO.Path.GetExtension(fileTitle).ToString().ToLower();
myFile.Email_Id = newId;
myFile.File_Title = fileTitle;
myFile.File_name = fileName;
myFile.File_ext = fileType;
double file_size = int.Parse(uploadfile.ContentLength.ToString()) / 1024;
tot_file_size += file_size;
myFile.File_Size = file_size;
if (uploadfile.ContentLength > 0)
{
uploadfile.SaveAs(Server.MapPath("~/EmailFiles/") + fileName + fileType);
db.Files.InsertOnSubmit(myFile);
db.SubmitChanges();
file_names.Add(fileName + fileType);
}
}
这里出了什么问题。请帮助我。