我开发了一个处理文件的模块。使用波浪号在主题中提供文件是可以的,但是这似乎在控制器中不起作用,在控制器中,我使用System.IO.File
诸如Move()
或的方法处理文件Delete()
。现在,我使用绝对路径,但它们不可行-该模块应在不同的机器上使用,并且仍存储在单个存储库中。
在每种情况下,如何找到应该用于根相对路径的根?如果没有通用规则,如何在管理文件的上载/下载/查看时找到它?还是更复杂?
我的文件存储在:(SolutionRoot)/Orchard.Web/Media/Default/_FooBar/
我已经尝试将所有文件夹作为相对根目录使用,但是它不起作用。
在我看来,这HostingEnvironment.MapPath
可能就是您要寻找的。
如果不是,那么您可以询问执行程序集的位置,然后从那里找出问题:
var codeBaseUrl = Assembly.GetExecutingAssembly().CodeBase;
var filePathToCodeBase = new Uri(codeBaseUrl).LocalPath;
var directoryPath = Path.GetDirectoryName(filePathToCodeBase);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句