CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

=========关于本地路径与服务器路径的问题=========

楼主daci(daci)2005-09-30 12:35:04 在 .NET技术 / ASP.NET 提问

问题描述:现有三台电脑A、B、C,A是用来进行开发WEB程序,B是WEB服务器,C是一台客户端。要实现的功能为:在本地机上通过HTML的Input控件选择本地的一图片位置,然后将该图片读成二进制文件保存到数据库中(假设为D电脑),我在A电脑中代码如下:  
  if   (this.Input.PostedFile.FileName   !=   "")  
  {  
  System.IO.FileInfo   objfile   =   new   System.IO.FileInfo(this.Input.PostedFile.FileName);  
  string   picfileurl   =   objfile.FullName;  
      if   (picfileurl   !=   "")  
            {  
  byte[]   blob   =   GetBinaryFile(picfileurl);  
  //GetBinaryFile是把文件变成二进制的一个函数  
                    //这个函数包含了一个如下判断文件是否存在的函数:File.Exists(FileName)  
   
            }  
  }  
  这样开发完毕后,我发现在自己的电脑上运行正常,但是当我将这些程序发布到WEB服务器B上的时候,从客户端电脑C进行访问B上我的程序的时候,问题出现了:不能正常工作。我分析了一下原因:当在C上访问B上程序的时候,C以B的身份在运行程序,而使用Input控件获取的文件地址是C上的路径,而这个路径在B上并不存在,所以也就找不到这个文件,程序就不能正常。  
  我的要求是如何能够获取到本地的路径也就是C上的文件地址将其上传,帮帮忙吧 问题点数:50、回复次数:10Top

1 楼triffang(冲凉不除3)回复于 2005-09-30 12:46:30 得分 0

晕,说了一大堆。可能时你的WEB服务器那个存文件的文件夹没权限吧!Top

2 楼wzs_wzs123(蓝天百云)回复于 2005-09-30 12:55:38 得分 15

你得函数写的就有问题,首先要把上传上来的文件保存在服务器上,  
  然后才能对文件进行读取等操作  
   
  string   sPath=你要保存到服务器上的路径+文件名、;  
  if   (this.Input.PostedFile.FileName   !=   "")  
  {  
   
  this.Input.PostedFile.SaveAs(sPath);  
  System.IO.FileInfo   objfile   =   new   System.IO.FileInfo(sPath);  
  string   picfileurl   =   objfile.FullName;  
      if   (picfileurl   !=   "")  
            {  
  byte[]   blob   =   GetBinaryFile(picfileurl);  
  //GetBinaryFile是把文件变成二进制的一个函数  
                    //这个函数包含了一个如下判断文件是否存在的函数:File.Exists(FileName)  
   
            }  
  }  
   
  Top

3 楼daci(daci)回复于 2005-09-30 13:10:57 得分 0

我在C上运行,调用Input控件的时候获取的路径是在C上的本地文件阿,但当我引用B上的页面的时候,自然的会按照这个路径在B上找文件,B上没有肯定会出错阿。我现在就是想把c上的本地文件获取到,读成二进制文件,然后保存到数据库中的blob字段中。  
  有两个问题啊:  
  this.Input.PostedFile.SaveAs(sPath),这句话干什么呢  
  怎么把文件上船到服务器,我就是连本地文件都不能获取阿Top

4 楼wzs_wzs123(蓝天百云)回复于 2005-09-30 13:34:13 得分 15

应用程是在后台与运行的,读取不到客户端的文件,只有上传到服务器上才行  
  this.Input.PostedFile.SaveAs(sPath),就是把客户端的文件保存到服务器上Top

5 楼foxconn_nich(Blog: http://www.jemy.cn)回复于 2005-09-30 13:40:20 得分 20

this.Input.PostedFile.SaveAs(sPath)//将选定的文件保存到服务器Top

6 楼daci(daci)回复于 2005-09-30 15:03:22 得分 0

sPath这个的路径格式是C:\tmp\tem.doc还是file:\\\C:\tmp\tem.doc,这种格式就把我搞晕了。  
  Top

7 楼daci(daci)回复于 2005-09-30 15:41:35 得分 0

谢谢几位,上传文件的问题已经解决。现在遇到的问题是:  
  1、怎样把文件读取到本地电脑呢,我读的时候总是读到服务器上;  
  2、如果不用这个Input怎么样才能把文件上传到服务器上,然后进行操作?  
  Top

8 楼daci(daci)回复于 2005-09-30 17:49:03 得分 0

看来沉底了,顶Top

9 楼moodboy1982(老鹰)回复于 2005-09-30 21:13:22 得分 0

读到本地?  
  那你要写客户端的插件,还要有权限。Top

10 楼daci(daci)回复于 2005-10-06 13:06:51 得分 0

to   moodboy1982(自由人):  
  客户端插件,能说得具体些吗?Top

相关问题

  • isapi中如何把WEB路径映射成服务器的本地路径?
  • web服务怎么访问服务器本地磁盘路径?
  • FCKeditor服务器图片路径问题
  • 求助:客户端如何将服务器的相对路径的文件拷到本地??
  • 急!!!知道文件夹的路径,怎么从服务器上把文件夹下载到本地(非FTP)
  • (up加分)sqlserver备份与恢复(从服务器备份到本地,从本地恢复到服务器)
  • 本地库与服务器的连接问题
  • 本地数据与服务器数据的交互!!!
  • 包含文件问题之二:在本地和上传到服务器后的文件路径是不是不太一样?
  • BITMAP 函数的路径设置,可以是服务器上的路径吗?

关键词

  • 文件
  • 函数
  • 服务器
  • 二进制
  • 客户
  • web服务器
  • 控件
  • 电脑
  • 路径
  • picfileurl

得分解答快速导航

  • 帖主:daci
  • wzs_wzs123
  • wzs_wzs123
  • foxconn_nich

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo