2017-02-21 2 views
1

Когда мы загружаем видео и нажимаем кнопку для конвертирования видео в миниатюру с помощью этого кода, он генерирует ошибку 'System.OutOfMemoryException: Out of memory.'как решить system.outofmemoryexception в C#

Мы используем этот код

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); 
+0

http://stackoverflow.com/questions/16162524/how-to-increase-memory-and-cache-size-for-application-pool-in-iis-7- эффективно проверяйте это. – Vijay

+0

Просьба дать предложение КАК МОЖНО СКОРЕЕ – user3655990

+0

Ваше преобразование в уменьшенное изображение немного упрощенно, вы не можете загружать видео, просто открывая, как если бы это был образ, вам придется приложить немного усилий. Кроме того, просить предложение «ASAP» кажется немного назойливым, AKN имеет правильный ответ, который объясняет, почему вы получаете ошибку, для преобразования видео в миниатюру, я думаю, вам нужно будет немного поработать – Icepickle

ответ

4

System.Drawing.Image.FromFile вернется OutOfMemoryException по причине ниже

  1. Файл не имеет допустимого формата изображения.
  2. GDI + не поддерживает формат пикселя файла.
1

MSDN documentation для Image.FromFile говорит, что это:

OutOfMemoryException

Файл не имеет допустимый формат изображения.

-или-

GDI + не поддерживает формат пикселя файла.

Предоставлено, это плохое и бессмысленное использование OutOfMemoryException, но, по крайней мере, оно задокументировано.

Как почему это брошено, это довольно просто - вы пытаетесь загрузить видео файл как изображения файла. Те же документы показывают, что поддерживаются следующие форматы:

  • BMP
  • GIF
  • JPEG
  • PNG
  • TIFF

Я полагаю, ваш "UploadVideo" ничто из этого. На самом деле, я не уверен, почему вы предположили, что это создаст миниатюру. Попробуйте найти конкретную библиотеку для этого. Это может быть хороший старт: Thumbnail video C#

Смежные вопросы