.net 程序疑难问题。上传文件路径错误。
这个是上传的那段代码,可以肯定,这代码是没问题的,因为以前可以,根本就没动过它。
- C# code
string fileContentType = FileUpload1.PostedFile.ContentType; if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg") { string name = FileUpload1.PostedFile.FileName; // 客户端文件路径 FileInfo file = new FileInfo(name); fileName = DateTime.Now.ToString("yyyyMMdd").ToString()+"_" + file.Name;// 文件名称 string webFilePath = Server.MapPath("AdImgUpload/" + fileName); // 服务器端文件路径 if (!File.Exists(webFilePath)) { try { FileUpload1.SaveAs(webFilePath);// 使用 SaveAs 方法保存文件 } catch (Exception ex) { MessageBox("提示:文件上传失败,失败原因:" + ex.Message); return; } } else { MessageBox("提示:文件已经存在,请重命名后上传"); return; } } else { MessageBox("提示:文件类型不符"); return; }
这个 是报错的 图,很明显,获取 服务器路径的时候错了。符号都没有,我改过 web.config 里面的 文件编码,也不行。
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/>
这个是 config 里面的 配置
这个问题 都不记得是什么时候 出现的了,希望高手 能指点啊,真的很急。。。
我怀疑是不是 服务器 或者 IIS 的 哪里配置问题?
------解决方案--------------------------------------------------------
图片看不到
------解决方案--------------------------------------------------------
IE8内核吗?
打开IE=>工具菜单=>internet选项
点击上面的“安全”选项卡
下面找到一个“自定义级别”点击
找到“将文件上传到服务器时包含本地目录路劲”
把原来的禁用改为启用
再试试 不一定行
------解决方案--------------------------------------------------------
感觉是本地路径没有转化成服务器路径
------解决方案--------------------------------------------------------
看看你那服务器文件夹还设置了访问权限 看看有没有增加network service的访问权限
------解决方案--------------------------------------------------------
那就自己show一下webFilePath 看看路径
------解决方案--------------------------------------------------------
我想是config 文件配置错误了
------解决方案--------------------------------------------------------
路径没有借的,因为表示路径的\会被看作是转义符不会显示出来的。
估计是服务器上的AdImgUpload文件夹没有给ASPNET写入权限。