【问题标题】:Multiple Input fields of file type on a single view单个视图上的文件类型的多个输入字段
【发布时间】:2012-11-02 02:15:06
【问题描述】:

我正在开发一个应用程序,我需要提供两个上传文件选项,一个用于图像,一个用于视频,我有此代码 Ref

foreach (string file in Request.Files)
{
   HttpPostedFile hpf = Request.Files[file] as HttpPostedFile;
   if (hpf.ContentLength == 0)
      continue;
   string savedFileName = Path.Combine(
      AppDomain.CurrentDomain.BaseDirectory, 
      Path.GetFileName(hpf.FileName));
   hpf.SaveAs(savedFileName);
}

在视图中

<input type="file" id="fileUpload1" name="fileUpload1" size="23" class="image" /> 
<input type="file" id="fileUpload2" name="fileUpload2" size="23" class="video" /> 

文件上传后工作正常,但问题是我如何确定哪个文件来自哪个输入类型,以便区分图像和视频,因为我必须为它们分配单独的唯一名称并保存到数据库.

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-3 file-upload


    【解决方案1】:

    您可以使用HttpPostedFileBase的内容类型来识别图像

    if (file.ContentType.Contains("image"))
    {
        var isImage = true;
    }
    

    如果您只有一张已排序的图像,您还可以检查您的视频内容类型以进行验证。如果你有两张图片,我们可能不得不考虑别的东西。

    【讨论】:

    • 不,我只有一个图像和一个视频,这个解决方案看起来不错...... tnx
    【解决方案2】:

    可能更好的方法是按键识别文件。

    Request.Files["fileUpload1"] 应该返回图片

    Request.Files["fileUpload2"] 应该返回视频

    仅供参考,Request.Files.AllKeys 拥有所有上传文件的所有密钥,它们应该与您为 &lt;input type="file"... 元素指定的任何名称匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 2017-11-22
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多