用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个文件上传字段中的每个字段是否为空。如果它们是空的,我想跳过文件上传和数据库插入,转到下一个文件。

你建议我怎么做?

非常感谢您的指导。

用C#-.NET处理多个可选文件上传

您可以循环浏览请求对象中已发布文件的集合,称为request.files

    foreach (string key in Request.Files)
    {
        HttpPostedFile file = Request.Files[key];
        if (file.ContentLength != 0)
        {
          file.SaveAs(Server.MapPath("~/Images/" + file.FileName));
        }
    }