日期:2014-05-20 浏览次数:20468 次
//读取session中上传文件数据 UploadInfo uploadInfo = Session[UploadInfo.UPLOADINFO] as UploadInfo; if (string.IsNullOrEmpty(uploadInfo.FilePath) || string.IsNullOrEmpty(uploadInfo.LastFileName)) { convertInfo.Status = -3; return; }
------解决方案--------------------
------解决方案--------------------
个人觉得可能是大文件转换时间长的问题,ffmpeg我印象中是无法知道文件何时转换完毕的,也就是说你调用了vc.VideoConvertFlv()后,他什么时候能够转换完毕,你是不知道的,而你后续的截图等操作应该是等转换完毕后再截图。问题就是如何得知已经转换完成,完成了就做截图等操作,没有完成就继续等待。
我的想法是用一个循环,检测转换后的文件是否存在,不存在则等待2秒(几秒你自己定),再检测文件是否存在,一直到检测到文件存在了,说明转换完毕,退出循环,做后续操作。
------解决方案--------------------
你可以这样测试下
1,先确保上传成功了
2,先别删除视频,
3,for (int i = 1; i <= 5; i++)里面Sleep一段时间试试
4,iis有应用程序池的回收机制,看看是不是占用了过多的内存进行了回收,你可以设置下应用程序池的配置试试