我有一个路径(存储为字符串)-例如\documentsdoc1.txt
。我试图用字符串路径表示的文件初始化类型为HttpPostedFileBase的变量。请问我怎么才能做到呢?我看过像
Model.File[count] = File.Open(item.PictureDirectory, FileMode.Open);
但是这些返回system .io. fileststream对象。
FileStream file = File.OpenRead(filepath);
但是我如何将其转换为httppostdfilebase ?
我正试图做什么是张贴在这里
首先,与链接到的其他问题一样,有一个需要HttpPostedFileBase
作为输入的方法,然后要求您发送一个文件而不是作为HttpPostedFileBase
自动传输,建议您需要重构该方法。在Pommy的例子中,也许输入Stream
会更合适?
现在,如果你绝对必须有一个HttpPostedFileBase
的实例,这就是你要面对的。类是抽象的,因此您永远不会直接构造它。相反,您需要构造一个继承类。在标准库中,HttpPostedFileWrapper
继承并接受HttpPostedFile
作为构造函数的输入。
但是这里有一个问题,HttpPostedFile
的构造函数是内部的,所以在系统之外。你不是在直接构造一个实例。
你的选择是:
- 在系统中找到工厂或其他方法。Web,将为您构建一个httppostdfile实例(我怀疑你不会发现)。 实现你自己的基
- 我推荐的方法是,如果可能的话——重构你的代码,让不用使用
HttpPostedFileBase
,而使用Stream
。
HttpPostedFileBase
继承类。这应该是足够简单的,它只是一个小的类,根据你的代码使用它,你可能甚至不需要实现所有的方法。