DirectoryInfo di = Directory.CreateDirectory(@"c:\temp");
结果是给创建在服务器上了。

解决方案 »

  1.   

    .NET是安全保护的无法对异地存储对象进行操作
      

  2.   

    明白了,谢谢大家。那请大家给我个思路。是这样的:甲机器是oracle服务器,乙机器是存放图像文件(jpg格式)的服务器。现在要求在丙机上从乙机上检索出某一图片,并显示在丙机,然后存入至甲机数据库。现在我已经将乙机上的图像文件显示在丙机,用image.src属性,但不知如何保存至甲机。本想在丙机上建一目录,下载之(不出现保存对话框),然后用Bitmap pic = new Bitmap("丙机图像文件"),转为位图,再转为流,字节数组,存入数据库。但关键是构造pic对象卡壳,如果路径直接引用图片服务器(乙机)上的路径,(用Server.MapPath也不行)提示“无效的参数”。如果路径引用本机(丙机)路径是可以的,但又没办法把文件直接下载到本地。
    谢谢大家了,分不够可以另加。
      

  3.   

    你只能给客户端下载这个文件
    当然下载的文件的路径不一定是web服务的路径
    可以是任意路径比如c:\download
    当需要下载的时候Response.WriteFile()即可)
    这样即可以防止客户不断通过url随便下载文件,又可以在需要的时候提供下载
      

  4.   

    以许我这代码对你有帮助。//把图片从网上读出来,先把网络流生成内存流,然后生成blob存起来
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
    request.KeepAlive=false;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream stream =response.GetResponseStream();
    MemoryStream memoryStream = new MemoryStream();
    byte[] bs = new byte[256];
    for ( int j = stream.Read( bs, 0, ( int ) bs.Length ); j > 0; j =stream.Read( bs, 0, ( int ) bs.Length ) )
    {
    memoryStream.Write( bs, 0, j );
    }
    stream.Close();
    memoryStream.Position = ( long )0;
    Byte[] bytBLOBData = new Byte[memoryStream.Length];
    memoryStream.Read(bytBLOBData, 0, bytBLOBData.Length);
    memoryStream.Close();

    OleDbParameter prm = new  OleDbParameter("@photo", OleDbType.Binary, bytBLOBData.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytBLOBData);
    oledbcmd.Parameters.Add(prm);

    cn.Open();
    try
    {
    oledbcmd.ExecuteNonQuery();
    }
    catch(Exception ex)
    {MessageBox.Show(ex.Message);}
    finally
    {
    cn.Close();

    }
    response.Close();
    }
    Reader.Close();