用C#-.NET处理多个可选文件上传
本文关键字:文件 C#- NET 处理 | 更新日期: 2023-09-27 17:57:42
我有8个不同的文件要上传。
目前我正在使用下面的代码。以下只是上传前两个文件的片段。它工作得很好,但很快就会变得很难看,因为我开始添加越来越多的文件上传字段。
WebForm:<p>
Thumb 1:<br />
<asp:FileUpload ID="img1sml" type="file" name="img1sml" runat="server" />
</p>
<p>
Image 1:<br />
<asp:FileUpload ID="img1" type="file" name="img1" runat="server" />
</p>...
CodeBehind:if (!string.IsNullOrWhiteSpace(img1sml.FileName))
{
img1sml.PostedFile.SaveAs(Server.MapPath("~/Images/" + img1sml.FileName));
img1.PostedFile.SaveAs(Server.MapPath("~/Images/" + img1.FileName));
// Create command
comm = new SqlCommand("INSERT INTO news (title, img1sml, img1, img1sml) VALUES (@Title, @img1sml, @img1)", conn);
// Add command parameters
我希望能够(以有效的方式)测试8个文件上传字段中的每个字段是否为空。如果它们是空的,我想跳过文件上传和数据库插入,转到下一个文件。
你建议我怎么做?
非常感谢您的指导。
您可以循环浏览请求对象中已发布文件的集合,称为request.files
foreach (string key in Request.Files)
{
HttpPostedFile file = Request.Files[key];
if (file.ContentLength != 0)
{
file.SaveAs(Server.MapPath("~/Images/" + file.FileName));
}
}