请教一个关于读取文件的问题?
我下面的代码是读取一个图片,然后显示,我运行后出现下面的错误: "Error : 对路径“F:\wbzol\wbzol.Edit\1”的访问被拒绝。 "请问我改怎么做?各位有类似的代码吗?我参照一下。
========================
<img src= 'attachment.aspx?ID=1 '>
========================================
attachment.aspx
===========================
public partial class attachment : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ShowImage();
}
}
private void ShowImage()
{
//int id = int.Parse(Request.QueryString[ "ID "]);
ResponseFile( "1 ", "m_200709241532469615.jpg ", "image/jpeg ");
}
/// <summary>
/// 以指定的ContentType输出指定文件文件
/// </summary>
/// <param name= "filepath "> 文件路径 </param>
/// <param name= "filename "> 输出的文件名 </param>
/// <param name= "filetype "> 将文件输出时设置的ContentType </param>
public void ResponseFile(string filepath, string filename, string filetype)
{
Stream iStream = null;
// 缓冲区为10k
byte[] buffer = new Byte[10000];
// 文件长度
int length;
// 需要读的数据长度
long dataToRead;
try
{
// 打开文件
iStream = new FileStream(Server.MapPath(filepath), FileMode.Open, FileAccess.Read, FileShare.Read);
// 需要读的数据长度
dataToRead = iStream.Length;
HttpContext.Current.Response.ContentType = filetype;
HttpContext.Current.Response.AddHeader( "Content-Disposition ", "attachment;filename= " + HttpContext.Current.Server.UrlEncode(filename.Trim()).Replace( "+ ", " "));
while (dataToRead > 0)
{
// 检查客户端是否还处于连接状态
if (HttpContext.Current.Response.IsClientConnected)
{
length = iStream.Read(buffer, 0, 10000);
HttpContext.Current.Response.OutputStream.Write(buffer, 0, length);
HttpContext.Current.Response.Flush();
buffer = new Byte[10000];
dataToRead = dataToRead - length;
}
else
{
// 如果不再连接则跳出死循环
dataToRead = -1;
}
}
}
catch (Exception ex)
{
HttpContext.Current.Response.Write( "Error : " + ex.Message);
}
finally
{
if (iStream != null)
{
// 关闭文件
iStream.Close();
}
}
HttpContext.Current.Response.End();
}
}
[解决办法]
给你F:\wbzol\wbzol.Edit\1目录加上ASPNET帐号的操作权限.
右键你的文件夹——安全选项卡——添加ASPNET的用户,设置ASPNET的权限为可以修改,这样就行了。
如果你右键没有看到安全选项卡,就打开windows的文件夹选项,在文件夹选项中的查看选项卡下不要选使用简单文件共享就可以看到安全选项卡了!!
[解决办法]
要限问题!!给文件夹添加访问权限!!
[解决办法]
不好意思!打错了!权限问题!
我以前也遇到过!一楼说的方法!好像在2000里面没有 "安全 "这个选项卡!如果楼主的也是这样!你试试给aspnet用户添加administrator权限看看!
[解决办法]
属性 --- 安全---添加---高级----立即查找----添加everone 完全控制
[解决办法]
新手 先把权限放大点吧 以后慢慢了解权限问题
[解决办法]
检查文件目录中是否给aspnet用户分配了访问权限
[解决办法]
...还是报错 “访问被拒绝”? 确定对这个wbzol文件夹 修改权限了?
[解决办法]
这要看是什么操作系统咯,自己搜一下asp.net读取文件权限问题吧