【发布时间】:2011-06-09 13:53:14
【问题描述】:
我需要在我的托管 (godaddy) 中等信任 asp.net 应用程序中支持大文件上传。
它显然需要对进度指示做出响应,因此自己处理流很重要。
这一切看起来都很简单,并且在完全信任的情况下运行良好:
1.编写一个监听文件上传的HttpModule。
2.使用反射从Context中获取HttpWorkerRequest对象。
3.将流写入FileStream
一切都很好,除了我在尝试从中等信任的上下文中获取 HttpWorkerRequest 对象时不断收到权限异常。无论我使用反射还是使用 System.IServiceProvider.GetService() 来获取对象(显然是使用反射),我都会得到同样的错误。
我也尝试过使用 System.Web.HttpPostedFile。它有一个属性 InputStream。但似乎这个对象在初始化时上传了整个文件,所以不好。
我用谷歌搜索自己很累,找不到其他选择。
即使让用户拥有 HttpWorkerRequest 对象存在安全风险,框架肯定会在 Method="POST" 和 enctype="multipart/form-data" 时提供另一种处理文件流的方法
任何想法都会很棒
谢谢
【问题讨论】:
标签: c# asp.net reflection stream