<div class="col-sm-6">
<asp:FileUpload ID="FileUpload" runat="server" AllowMultiple="true" />
</div>
代码背后:
string ext = System.IO.Path.GetExtension(this.FileUpload.PostedFile.FileName);
foreach (var file in FileUpload.PostedFiles)
{
if (ext == ".jpeg" || ext == ".png" || ext == ".bmp" || ext == ".jpg")
{
if (FileUpload.PostedFile.ContentLength > 0 &&
FileUpload.PostedFile.ContentLength <= 625000)
{.....
}
else if (ext == ".mpeg4" || ext == ".mp4" || ext == ".3gp" || ext == ".flv")
{
if (FileUpload.PostedFile.ContentLength > 0 && FileUpload.PostedFile.ContentLength <= 625000)
{.............................}
}
问题是当我上传2个文件1 * .jpg文件而另一个是* .mp4文件然后无论我在fileupload控件中选择第一个文件它只插入那个首先被选中的文件,我想插入两个数据库表的不同coloumn中的文件,即图像coloumn中的图像路径和video coloumn中的视频路径。
我还在foreach循环下尝试"string ext = System.IO.Path.GetExtension(this.FileUpload.PostedFile.FileName)"
然后首先成功插入图像文件,然后重新插入第二个文件循环开始,获取.mp4值并执行.jpg正文的If语句。并在视频列中插入视频路径。
我不知道为什么即使在检查文件是.mp4之后这个.jpg语句也在执行。这是问题,我正面临着。
注意:当我调试代码字符串时,ext接受.jpg扩展名,之后在foreach
循环中,第二个文件来自.mp4格式,然后仍然包含.jpg。
答案 0 :(得分:0)
你有一个错字。只需在每次迭代时从文件变量访问文件名,而不是在循环之前只访问一次以获得文件扩展名。