在Asp.Net中中等信任大文件上传

时间:2011-01-15 08:28:30

标签: c# asp.net reflection stream

我在托管(godaddy)中等信任asp.net应用程序中需要大文件上传支持 显然需要对进度的指示做出响应,因此自己处理流非常重要。

这一切看起来都非常简单,并且在完全信任时效果很好:
1.编写一个侦听文件上传的HttpModule 2.使用反射从Context获取HttpWorkerRequest对象 3.写出流到FileStream

一切都很好,除了我在尝试从中等信任的上下文中获取HttpWorkerRequest对象时不断获得权限异常。无论我使用反射还是使用System.IServiceProvider.GetService()来获取对象(显然使用反射),我都会得到相同的错误。

我也尝试过使用System.Web.HttpPostedFile。它有一个属性InputStream。但似乎这个对象是在初始化时上传整个文件,所以没有好处。

我已经google了自己累了,找不到另一种选择。

即使让用户拥有HttpWorkerRequest对象存在安全风险,当Method =“POST”和enctype =“multipart / form-data”

时,框架肯定会提供另一种处理文件流的方法。

任何想法都会很棒 感谢

1 个答案:

答案 0 :(得分:0)

您也可以尝试阅读context.Request.InputStream