将文件内容加载到网络应用程序中
问题描述:
我在项目中添加了几个文件(构建操作Content
,Copy if newer
)。它的工作原理是,我可以在/ bin目录中看到所有其他文件所在的文件。将文件内容加载到网络应用程序中
我该如何访问这些文件?我相信,如果这是控制台应用程序或者像这样,这很容易(访问LoadFile({path in bin dir})
),但它不适用于IIS 7.5或Azure托管的WebApp。
这怎么办?
答
根据您使用的.net语言,您应该能够使用静态类System.Io.File来处理它们。
因此,举例来说,如果你想获得属于您的Web服务中的文件夹,你可以这样做
var folder = HttpContext.Current.Server.MapPath("~/YourFolder")
string fullPath = Path.Combine(folder , "yourfile.txt");
var stream System.Io.File.OpenRead(fullPath);
编辑中的文件: 要访问槽使用中创建的资源文件夹:
var folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourFolder");
'HttpContext.Current.Server.MapPath(“〜”);'提供应用根的路径,但不提供bin目录。我不认为,手动添加bin是个好主意。 – Ari 2013-03-13 15:52:10
'AppDomain.CurrentDomain.BaseDirectory'也指向web根目录。我已经尝试过了。 – Ari 2013-03-13 15:56:38
看看这里http://stackoverflow.com/questions/1199372/getting-the-current-directory-in-an-assembly-used-by-a-web-service-app-and-windo – 2013-03-13 15:58:41