正在升级我们的DNN版本......并且遇到了一个小障碍。
DNN 5.4的旧弃用代码
Dim objFileController As New FileController
Dim objImageInfo As DotNetNuke.Services.FileSystem.FileInfo = objFileController.GetFileById(myFileId, myPortalId)
7.0.2的新尝试
Dim objFileController As FileManager
Dim objImageInfo As DotNetNuke.Services.FileSystem.IFileInfo = objFileController.GetFile(myFileId)
但是,使用新方法有几个问题......
1)这并没有指定门户网站ID。我们有多个不同的门户网站,我需要能够过滤特定的门户网站。还有其他重载可以指定PortalID,但是您无法指定FileID ...
2)我收到一条警告,说明在分配值之前已经使用了objFileController。但是如果我把" Dim __作为New FileManager"然后它会抛出一个编译错误,因为这个朋友' FileManager的上下文。
* 编辑 *
我看到了一些对FileManager.Instance.GetFile(FileID)的引用。 。 。 Instance只是引用正在运行的站点的当前门户吗?如果是这样,我可以使用它,只需传入FileID ...
答案 0 :(得分:3)
PortalId
对象的IFileInfo
属性。FileManager
公开构造函数,但您使用静态Instance
方法来获取文件管理器的当前实例(不是特定于门户网站)。