在作一个小web程序时出现的问题:
    用file.exist()判断文件是否存在,如果存在可进行下载,文件名格式为\\机器名\盘符$\路径\文件名,在VS中进行预览可以查到文件并可提供下载,在IIS中运行却不行,file.exist()文件不存在。请问是权限的问题吗?我将盘符设成everyone可读也不行。(源程序在E盘,文件放在D盘。)

解决方案 »

  1.   

    局域网访问,肯定有权限问题啊
    vs默认权限就很大,如果你以管理员权限运行的,那更是顶天的权限
    iis默认账号的权限小的可怜,判断文件是否存在用完整的物理路径
      

  2.   

    要看什么的服务器系统,不同的系统IIS的管理员账号好像也不同
      

  3.   

     protected void Page_Load(object sender, EventArgs e)
            {
                string fileD = Request.QueryString["filed"];
                string fileS = Request.QueryString["files"];
                Response.Write(fileS+"   ");
                //fileS = Server.MapPath(fileS);
                if (File.Exists(fileS))
                {
                //    Response.Clear();
                //    Response.Buffer = true;
                //    Response.AddHeader("Content-Disposition", "attachment;filename=" + fileD);
                //    Response.ContentType = "application/unknow";
                //    //Response.Write(fileD + fileS);
                //    Response.TransmitFile(fileS);
                //    Response.End();
                }else
                    {
                    Response.Write("文件不存在!");            }
            }
    fileS 显示出来为\\x230\d$\20170222\马场_20170222082013_12.jpg
    在VS中直接启动不打印文件不存在,在IIS中就出现文件不存在,说明file.exist工作不正常