【问题标题】:Is it possible to use a file upload control to upload only image and video type of file at one time?是否可以使用文件上传控件一次仅上传图像和视频类型的文件?
【发布时间】:2017-10-18 04:11:53
【问题描述】:
    <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 控件中选择第一个文件,它都只插入首先选择的文件,我想插入两个数据库表不同列的文件,即图像列中的图像路径和视频列中的视频路径。

我还在 foreach 循环下尝试了"string ext = System.IO.Path.GetExtension(this.FileUpload.PostedFile.FileName)",然后它首先成功地插入了图像文件,而不是第二个文件循环开始以获取 .mp4 值并执行 .jpg 主体的 If 语句。并在图片列中插入视频路径。

即使在检查文件是 .mp4 之后,我也不知道为什么 .jpg 的 if 语句仍在执行。这是我面临的问题。

注意:当我调试代码字符串 ext 采用 .jpg 扩展名时,之后在 foreach 循环中,第二个文件是 .mp4 格式,然后 ext 仍然包含 .jpg 。

【问题讨论】:

    标签: c# asp.net sql-server


    【解决方案1】:

    你有一个错字。只需在每次迭代时从文件变量中访问文件名,而不是在循环之前仅访问一次以获取文件扩展名。

    【讨论】:

    • 哦,是的,我忘了。再次感谢阿洛特!
    猜你喜欢
    • 2010-11-07
    • 2020-12-16
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多