从文件路径(字符串)初始化HttpPostedFileBase



我有一个路径(存储为字符串)-例如\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的构造函数是内部的,所以在系统之外。你不是在直接构造一个实例。

你的选择是:

  1. 在系统中找到工厂或其他方法。Web,将为您构建一个httppostdfile实例(我怀疑你不会发现)。
  2. 实现你自己的基HttpPostedFileBase继承类。这应该是足够简单的,它只是一个小的类,根据你的代码使用它,你可能甚至不需要实现所有的方法。
  3. 我推荐的方法是,如果可能的话——重构你的代码,让不用使用HttpPostedFileBase,而使用Stream

相关内容

  • 没有找到相关文章

最新更新