WebService上传,但是不上传到WebService所在的目录而是另一个webapp目录,是吗?
可以,如楼上所说用绝对路径,注意保证权限

解决方案 »

  1.   

    恶魔,是另一个webapp目录,怎么保证权限?
      

  2.   

    恶魔,是另一个webapp目录,怎么保证权限?
    给所在目录加权限
    Everyone、IUSR等
      

  3.   

    恶魔,是另一个webapp目录,怎么保证权限?
    给所在目录加权限
    Everyone、IUSR等
    好像是遇到了权限问题,贴代码您看一下,webservice里的代码
        //由图片表找到byte[] ,写成图片
                    if (dt.Columns.Contains("byteImage") == false)
                    { dt.Columns.Add("byteImage", typeof(byte[])); }
                    //先创建文件夹,因为之后的写入是根据文件名直接写入的
                    string picDictory = Server.MapPath("D:/三优/SADWeb/Three/upload/");
       string picDictory = Server.MapPath("D:/三优/SADWeb/Three/upload/");
                    try
                    {
                        if (Directory.Exists(picDictory) == false)
                        {
                            Directory.CreateDirectory(picDictory);
                        }
                    }这是webservices把图片写了webservices所在的硬盘上的代码
        foreach (DataRow dr in dt.Rows)
                    {
                        string strFileName1 = "";
                        string strFileName2 = "";                    if (dr["byteImage"] != DBNull.Value)
                        {
                            strFileName1 ="D:/三优/SADWeb/Three/" + dr["ImgPath"].ToString(); //Server.MapPath("./" + dr["ImgPath"].ToString());
                            writeFile(strFileName1, (byte[])dr["byteImage"]);
                        }
                        if (dr["byteImageS"] != DBNull.Value)
                        {
                            strFileName2 = "D:/三优/SADWeb/Three/" + dr["ImgSPath"].ToString(); //Server.MapPath("./" + dr["ImgSPath"].ToString());
                            writeFile(strFileName2, (byte[])dr["byteImageS"]);
                            
                        }
                    }数据库里是以upload/xxx.jpg为路径存储的,所以路径上不会有问题,server.MapPath这些注释是我在本地测试的时候写的,在远程服务器上这样写也可以成功,在webservice应用程序下的都会成功,一超过这个webservices所在的目录,就写不进去图片了,加权限指的怎么加啊?这里涉及到D盘,我需要在整个D盘上加权限吗?
      

  4.   

    你这不对啊
    Server.Mappath 是把相对路径map到绝对路径,你传的应该是相对路径
      

  5.   

    string picDictory = "D:/三优/SADWeb/Three/upload/";不需要Server.MapPath
      

  6.   

    资源管理器中  D:/三优/SADWeb/Three/  属性,Security . 给运行asp.net的帐户对它的读写权限。运行asp.net的帐户win2003下是NETWORK SERVICE. WIN2008下可能是dedicate的账户,也可能是NETWORK SERVICE.看App pool的属性。