【问题标题】:how to solve system.outofmemoryexception in c#如何在c#中解决system.outofmemoryexception
【发布时间】:2017-02-21 06:36:27
【问题描述】:

当我们上传视频并单击按钮以使用此代码将视频转换为缩略图时,它会生成错误 'System.OutOfMemoryException: 内存不足。'

我们正在使用此代码

fpUplaodVideo.SaveAs(Server.MapPath("~/UploadFiles/SiteUserID_" + SiteUserID + "/UploadVideo/" + fpUplaodVideo.FileName));

此行会出错

System.Drawing.Image img1 = System.Drawing.Image.FromFile(Server.MapPath("~/UploadFiles/SiteUserID_" + SiteUserID + "/UploadVideo/") + fpUplaodVideo.FileName);

【问题讨论】:

  • 请尽快提出建议
  • 您转换为缩略图图像有点简单,您无法通过像图像一样简单地打开来加载视频,您将不得不在那里做更多的努力。此外,要求“尽快”的建议似乎有点咄咄逼人,AKN 有正确的答案,它解释了为什么你会收到错误,为了将视频转换为缩略图,我认为你需要做更多的工作

标签: c#


【解决方案1】:

System.Drawing.Image.FromFile 将返回 OutOfMemoryException 原因如下

  1. 该文件的图像格式无效。
  2. GDI+ 不支持文件的像素格式。

【讨论】:

    【解决方案2】:

    Image.FromFile 的 MSDN documentation 表示:

    OutOfMemoryException

    该文件没有有效的图像格式。

    -或-

    GDI+ 不支持文件的像素格式。

    当然,这是对 OutOfMemoryException 的错误和荒谬的使用,但至少它已记录在案。

    至于为什么会出现这种情况,这很简单——您正在尝试将 video 文件加载为 image 文件。相同的文档显示支持以下格式:

    • BMP
    • GIF
    • JPEG
    • PNG
    • TIFF

    我认为您的“UploadVideo”不是这些。实际上,我不确定您为什么认为这会生成缩略图。尝试为此寻找特定的库。这可能是一个好的开始: Thumbnail video C#

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 2023-03-19
      • 2013-11-16
      • 2016-03-21
      相关资源
      最近更新 更多