【发布时间】:2011-09-03 00:01:15
【问题描述】:
我有 8 个不同的文件要上传。
目前我正在使用下面的代码。以下只是用于上传前 2 个文件的 sn-p。它工作得很好,但随着我开始添加越来越多的文件上传字段,很快就会变得丑陋。
网络表单:
<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>...
代码隐藏: 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 个文件上传字段中的每一个是否为空。如果它们是空的,我想跳过文件上传和数据库插入并移动到下一个文件。
你会如何建议我这样做?
非常感谢您对此的任何指导。
【问题讨论】:
-
移动到下一个文件是什么意思,如果你问如何检查8个文件上传是否为空?
-
是的,我想检查所有 8 个字段,然后只上传那些包含文件的字段。
-
好吧,上传是指保存文件并执行该命令,对吗?因为当您进行回发时,文件已上传
-
嘿。是的,抱歉,我的意思是保存文件 :) 我想保存用户选择要保存的文件的所有文件。用户可能不会保存所有 8 个文件,而只保存(例如)6 个,所以我想确保它循环遍历所有文件,并且这些文件被保存。如果可能的话,我想将保存的文件插入到我的数据库表中的正确列中。
标签: c# asp.net image file upload