我想允许用户请求位于 App_Data 文件夹中的文件。这是错误:
Error Summary
HTTP Error 404.8 - Not Found
The request filtering module is configured to deny a path in the URL that contains a hiddenSegment section.
最佳答案
无法直接访问 App_Data
文件夹,因为它用作 Web 应用程序的数据存储,出于存储数据的安全原因,您只能使用连接字符串从中访问数据库。
网络配置
<connectionStrings>
<add name="AddressBookConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
检查这个http://www.codeproject.com/Articles/31557/A-Beginner-s-Guide-to-ASP-NET-Application-Folders#h
更新
我们可以通过编程方式访问 Web 应用程序中的任何文件并将其写入响应:
public class FileAccessHandler:IHttpHandler
{
public FileAccessHandler()
{
//
// TODO: Add constructor logic here
//
}
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
String FileName = Path.GetFileName(context.Request.PhysicalPath);
String AssetName = HttpContext.Current.Request.MapPath(Path.Combine(HttpContext.Current.Request.ApplicationPath, "App_Data/" + FileName));
if (File.Exists(AssetName))
{
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(File.ReadAllBytes(AssetName));
context.Response.End();
}
}
}
关于c# - 允许对 App_Data 的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515338/