网络文件复制到本地下面的问题,请高手指点。

feng8317 2010-01-26 10:33:33
string strfilename = “http://192.168.2.23/bbTEMP/eee/1.bmp”;
string strMokuhyouPass = @"d:\2.bmp";

File.Copy(strfilename , strMokuhyouPass , true);

我想把服务器192.168.2.23上的1.bmp文件复制到我本地的机器上。
但是按照上面的做法。老是报错。请指教下。
...全文
101 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng8317 2010-01-26
  • 打赏
  • 举报
回复
那我要上传的话用那个函数。知道不
samuellei 2010-01-26
  • 打赏
  • 举报
回复
不行
WebClient.DownloadFile (Uri, String) Downloads the resource with the specified URI to a local file.
feng8317 2010-01-26
  • 打赏
  • 举报
回复
好的我试试看。
King0113 2010-01-26
  • 打赏
  • 举报
回复

public byte[] GetSBFJWj(string JLID)
{
//显示图片
myConn = new OracleConnection(connectionString);
OracleDataReader reader = null;
string m_Sql = "";
try
{
string expr = "select FJLX,FJNR from t_gjgxsbfj ";
m_Sql = expr + " where JLID = '" + JLID + "'";
OracleCommand mCmd = new OracleCommand(m_Sql, myConn);
myConn.Open();
reader = mCmd.ExecuteReader();
byte[] TTreader = null;
if (reader.Read())//有数据
{
if (reader["FJLX"].ToString() != "")
{
TTreader = (byte[])reader["FJNR"];
}
}
return TTreader;
}
catch (Exception ex)
{
throw ex;
}
finally
{
reader.Dispose();
reader.Close();
myConn.Dispose();
myConn.Close();
}
}

private void savefile(string fjJLID)
{
//从数据库中读出2进制流保存文件
byte[] fjphoto = sp.GetSBFJWj(fjJLID);
if (fjphoto != null)
{
string ext = sp.fj_LXbyJLID(fjJLID);//附件类型。
//string localFilePath, fileNameExt, newFileName, FilePath;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
//设置文件类型
saveFileDialog1.Filter = "" + ext + " files(*." + ext + ")|*." + ext + "";
//设置默认文件类型显示顺序
saveFileDialog1.FilterIndex = 1;
//保存对话框是否记忆上次打开的目录
saveFileDialog1.RestoreDirectory = true;
//设置默认文件名
saveFileDialog1.FileName = sp.fj_MCbyJLID(fjJLID);//附件名称。
//点了保存按钮进入
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if (saveFileDialog1.FileName != null)
{
FileStream fs;
string filepath = saveFileDialog1.FileName.ToString();
if (System.IO.File.Exists(filepath))
{
fs = new FileStream(filepath, FileMode.Truncate);
}
else
{
fs = new FileStream(filepath, FileMode.CreateNew);
}
BinaryWriter br = new BinaryWriter(fs);
br.Write(fjphoto, 0, fjphoto.Length);
br.Close();
fs.Close();
}
}
}
else
{
MessageBox.Show("没有附件。");
}
}




附件类型和附件名称这里,我是从数据库读的,你可以直接定义。。。
大致就这样
feng8317 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 king0113 的回复:]
我是从数据库读的。。。可能会有些不同。
4楼的方法也可以试试~能达到你的要求才是最好的方法
[/Quote]

你的代码是怎么样的
feng8317 2010-01-26
  • 打赏
  • 举报
回复
我也是从数据库里读出来的。元文件是路径是从数据库里的读出来的,第二个网络路径是传过来的参数
feng8317 2010-01-26
  • 打赏
  • 举报
回复
WebClient 这个函数我两个都是网络路径可不可以。

string strfilename = “http://192.168.2.23/bbTEMP/eee/1.bmp”;
string strMokuhyouPass = “http://192.168.2.25/bbTEMP/eee/2.bmp”;


WebClient oWebClient = new WebClient();//声明
oWebClient.DownloadFile("http://localhost:2365/WebSite16/licence.jpg", "“http://192.168.2.25/bbTEMP/eee/2.bmp”; ");//下载
oWebClient.Dispose();//释放

这样可以不

qlzf11140820 2010-01-26
  • 打赏
  • 举报
回复

string remoteUri = "http://avatar.profile.csdn.net/E/5/A/2_feng8317.jpg";
string fileName = "1.gif", WebResource = null;
//创建一个WebClient实例
WebClient myWebClient = new WebClient();
WebResource = remoteUri + fileName;
//下载Web资源并保存到当前文件系统夹
myWebClient.DownloadFile(WebResource, fileName);
King0113 2010-01-26
  • 打赏
  • 举报
回复
我是从数据库读的。。。可能会有些不同。
4楼的方法也可以试试~能达到你的要求才是最好的方法
ck11926375 2010-01-26
  • 打赏
  • 举报
回复

WebClient oWebClient = new WebClient();//声明
oWebClient.DownloadFile("http://localhost:2365/WebSite16/licence.jpg", @"d:\1.gif");//下载
oWebClient.Dispose();//释放
King0113 2010-01-26
  • 打赏
  • 举报
回复
用FileStream这个类。。。
然后再是BinaryWriter。。。
具体的google下~呵呵~应该有很多
feng8317 2010-01-26
  • 打赏
  • 举报
回复
能说的详细点吗
King0113 2010-01-26
  • 打赏
  • 举报
回复
1.把网络上的文件转换成2进制流。。。然后本地读取这个流
feng8317 2010-01-26
  • 打赏
  • 举报
回复
搞定了。结分了。谢谢大家。
一、启用guest来宾帐户; 二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户; 三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾; 四、设置共享文件夹; 五、控制面板→管理工具→本地安全策略→本地策略→安全选项里,把“网络访问:本地帐户的共享和安全模式”设为“仅来宾-本地用户以来宾的身份验证”(可选,此项设置可去除访问时要求输入密码的对话框,也可视情况设为“经典-本地用户以自己的身份验证”); 六、右击“我的电脑”→“属性”→“计算机名”,该选项卡中有没有出现你的局域网工作组名称,如“work”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,如“work”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。 访问网上邻居时显示:" windows xp系统访问局域网时显示 "WORKGROUP无法访问.您可能没有权限使用网络资源.与这台服务器的管理员联系以查明您是否有访问权限.此工作组的服务器的列表当前无法使用." 我用的是xp系统 我也遇到过这样的情况,当时也是着急得不轻,后来看到了以下的内容,照着一步步的做了做,真的好了。内容不少,但是仍然希望你能耐住性子,仔细的看看自己属于那种情况,应该会有所收获。 局域网互访 - [ 网络 ] 我也是类似问题。 以前一个局域网10多台机子互访问。安了蕃茄花园v2.3,感觉主题漂亮,桌面壁纸自动换,很爽。访问局域网计算机没问题。可网内其它机子在工作组内能看到我的机子,但打不开。说什么“没有权限”。所有设置都作了如下改动(网上找的),依然无效,何故?但求高手指点。 “网上邻居”无法互访问题解决方法大全 “网上邻居”无法互访的问题实在是太常见了,无论在学校,网吧还是家里多台电脑联机,都有可能遇到网上邻居无法互访的故展。“网上邻居”无法访问的故障多种多样,总结起来基本上有下面的几个: 1,没有共享资源/共享服务未启用。 症状:电脑与电脑间可以Ping通,但无法访问共享资源,在“计算机管理”中查看“本地共享”后会弹出“没有启动服务器服务”的错误对话框。 解决:在控制面板-管理工具-服务中启动Server服务。并设置“启动类型”为“自动”。 2,IP设置有误。 症状:双机之间无法互Ping,连接用的双绞线经过测试没有问题,没有安装防火墙。 解决:检查两台电脑的IP是否处在同一网段,还有子掩码是否相同。 3,WINXP默认设置不正确。 症状:从WIN98/2000/2003上无法访问另一台WINXP的机器。 解决:在“控制面板”中的“用户帐户”启用Guest帐号。然后在运行中输入secpol.msc启动“本地安全策略”。 本地策略 -> 用户权利指派,打开“从网络访问此计算机”,添加Guest帐户 本地策略 -> 安全选项,禁止"帐户:使用空白密码的本地帐户只允许进行控制台登陆"。 另外有时还会遇到另外一种情况:访问XP的时候,登录对话框中的用户名是灰的,始终是Guest用户,不能输入别的用户帐号。 解决:本地策略 -> 安全选项 -> "网络访问:本地帐户的共享和安全模式",修改为"经典-本地用户以自己的身份验证" 4,系统漏洞修补软件修改了安全策略。 症状:在“网上邻居”中可以看到对方的计算机,但是访问共享时却提示“没有权限访问网络” 解决:在开始菜单运行中输入secpol.msc启动“本地安全策略”,本地策略 -> 用户权利分配,打开“拒绝从网络访问这台计算机”,删除guest用户。 5,防火墙规则。 症状:安装了防火墙(包括WINXP系统自带的防火墙),出现无法Ping通,或者是访问共享资源的时候提示"XXX无法访问"、"您可能没有权限使用网络资源"、"与这台服务器的管理员联系以查明您是否有访问权限"、"找不到网络路径"等类似的提示。 解决:停止防火墙或者添加局域网的访问规则。 WINXP自带的防火墙:打开控制面板 -> 网络和Internet连接 -> Windows防火墙 -> 例外,勾选“文件和打印机共享”。 6,Win2000/XP与Win98互访 症状:Ping命令可以通过,但无法在“网上邻居”中实现互访。 解决:在WIN2000/XP系统中:控制面板 -> 管理工具 -> 计算机管理 -> 本地用户和组 -> 用户,在Guest帐户上点击鼠标右键,选择属性,在常规项里取消

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧