代码在本机运行没有问题,但是在别的机器调用本机的程序运行时,在选择了要上传的文件后报错,读取路径的一部份出错,后来发现是要在本机的硬盘上要有相同的目录才行。
如我选择的是c:\abc\1.jpg则要在本机也要有个c:\abc的目录才行,而文件也没有传到服务器上。好像上传的file控件读的是我代码所在机器的路径,还不是客户端的路径我读文件是用的file.PostFile.FileName.
form的encType="multipart/form-data"也设了
这样应该是读的客户端路径才对啊,为什么会读到服务器端呢?
还请高手指教,急
如我选择的是c:\abc\1.jpg则要在本机也要有个c:\abc的目录才行,而文件也没有传到服务器上。好像上传的file控件读的是我代码所在机器的路径,还不是客户端的路径我读文件是用的file.PostFile.FileName.
form的encType="multipart/form-data"也设了
这样应该是读的客户端路径才对啊,为什么会读到服务器端呢?
还请高手指教,急
上面写错了,是file.PostedFile.FileName
另,我用的是ftp上传,但是代码应该还没有执行到连接ftp时好像就出错了,他说找不到路径,如果我在本机上建一个相同的目录的话代码执行就没问题,但是文件没有传上去
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息:<hr color=red>");
if("" != fileUp.PostedFile.FileName)
{
filePath =fileUp.PostedFile.FileName;//取得文件路径
fileExtName= filePath.Substring(filePath.LastIndexOf(".")+1); try
{
//取得与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
mPath=Server.MapPath("../../../upfile/");
mFileName=filePath.Substring(filePath.LastIndexOf("\\")+1);;//取得文件名
strMsg.Append("上传的文件类型:" + fileUp.PostedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + fileUp.PostedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + mFileName + "<br>");
strMsg.Append("上传文件的扩展名:" + fileExtName);
//保存上传文件到指定的目录
fileUp.PostedFile.SaveAs(mPath + mFileName);
strState.Text = strMsg.ToString();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
在选择了文件后,它是到服务器上找这个路径,而不是在客户端,所以就会出现异常"找不到路径的一部分"
实在是想不出哪里错了
是不是web.config文件要配置什么啊?
我是用
string[] fileNames = Directory.GetFiles(fPath);
int num=0;
string file1="";
string exName="";
foreach (string file in fileNames)
{
exName =file.Substring(file.Length-3);
//if(exName.ToUpper() !="PDG")
if(exName.ToUpper() =="PDG")
{
num=num+1; }
file1 = file.Trim();
}
来读取文件数量的
是不是Directory.GetFiles(fPath);读的是服务器的路径,要怎么样才能读到客户端的目录?
我要跟据我选择的那一个文件得出它所在的目录的路径,然后通过
string[] fileNames = Directory.GetFiles(fPath);来读出这个路径下的所有文件各的一个集合
但是这种方法好像只能读服务器端的,有什么办法可以读到客户端吗?