首页 新闻 会员 周边

C#:HttpFileCollectionBase如何转为HttpFileCollection

0
悬赏园豆:20 [已解决问题] 解决于 2017-05-18 16:58

我在用MVC来实现uploadify上传文件,在获取文件的时候HttpPostedFile file = Request.Files["Filedata"],却出错了错误 1 无法将类型“System.Web.HttpPostedFileBase”隐式转换为“System.Web.HttpPostedFile”,很无奈,弄了很久,都不成功,请问哪个大侠有过类似的问题,在线求解,谢谢!

猫出没的主页 猫出没 | 菜鸟二级 | 园豆:219
提问于:2017-05-18 12:46
< >
分享
最佳答案
1

最后的解决办法是:没有采用Controller中的Request.Files

直接使用的完全限定名:System.Web.HttpContext.Current.Request.Files

从HttpPostedFile类型转为HttpPostedFileBase可以采用HttpFileCollectionWrapper进行包装。

但是相反HttpPostedFileBase转为HttpPostedFile没有相关方法。。。同时HttpPostedFile是密封类,并且属性私有。so,没有解决,如果哪位园友有更好的答案欢迎私信!

猫出没 | 菜鸟二级 |园豆:219 | 2017-05-18 16:54
其他回答(2)
1

System.Web.HttpPostedFileBase file = Request.Files["Filedata"]

收获园豆:20
我叫So | 园豆:186 (初学一级) | 2017-05-18 13:03

师傅,,我获取的就是HttpPostedFileBase的,但我是要从HttpPostedFileBase转为HttpPostedFile

我这个是要跟人家文件系统对接,人家需要的参数类型就是HttpPostedFile,但是MVC上传上来的类型是HttpPostedFileBase,,,师傅。。。。。。。。。

支持(0) 反对(0) 猫出没 | 园豆:219 (菜鸟二级) | 2017-05-18 14:17

@猫出没: HttpPostedFile file = System.Web.HttpContext.Current.Request.Files["Filedata"]

0

1 无法将类型“System.Web.HttpPostedFileBase”隐式转换为“System.Web.HttpPostedFile”

—— 很明显那就不是这个类型嘛,都从动物派生出来,本来是条狗你要把这个动物弄成人来搞肯定不行三。

你直接看Request.Files["Filedata"] 的类型就行(调试列表第二列)了,也可以用is判断看看是不是属于该类型。

花飘水流兮 | 园豆:13560 (专家六级) | 2017-05-18 13:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册