我有一个.NET Web应用程序(MVC4,Web API)需要通过Multipart POST请求接收大量上传(视频> 500MB)。我试图通过将视频部分的输入流直接转发到将处理和存储视频的服务器(Kaltura)来改善用户体验。这是对当前进程的改进,该进程将视频存储在文件系统上的文件中,稍后由视频服务器检索。
我通过创建名为RelayingStreamProvider的MultipartStreamProvider的子类来完成此操作。我将我创建的WebRequest的请求流传递给Kaltura服务器,并将其用于写入。当我构造RelayingStreamProvider时,我将请求流包装在BufferedStream中,以处理此过程的读取或写入方面的任何延迟或中断。
我也在我的Web API控制器中关闭了请求缓冲。
我的问题:
最后,我确实知道有一个小部件和移动API我可以用来摆脱Kaltura的中间人角色。我们将实施这些。由于小部件需要Flash,我们使用此方法作为没有Flash的用户的后备。