C# 相对路径转换成绝对路径。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 相对路径转换成绝对路径。相关的知识,希望对你有一定的参考价值。

按下按钮,选择文件后,在对应的TextBox中显示文件相对路径,怎么修改代码才能实现在TextBox中显示绝对路径。麻烦哪位大侠帮忙解决。小弟感激不尽
private void button1_Click(object sender, EventArgs e)


this.openFileDialog1.Filter = "|*.*";

if (this.openFileDialog1.ShowDialog() == DialogResult.OK)

string FileName = this.openFileDialog1.FileName; // 处理文件路径代码
this.txtPath.Text = openFileDialog1.FileName; //在TextBox中显示相对路径



小弟学错了,应该是:按下按钮,选择文件后,在对应的TextBox中显示文件绝对路径,怎么修改代码才能实现在TextBox中显示相对路径。麻烦哪位大侠帮忙解决。小弟感激不尽

Server.MapPath

错,你在点击之后,显示的事客户端路径,相对路径这一说是有问题的,相对肯定是相对于项目根目录,但是你图片没有传上去,所以项目里面是找不到着个路径的
你需要用Ajax把图片传到服务器,服务器返回相对路径回来 就可以了追问

初学C#,麻烦问 用Ajax把图片传到服务器 具体什么意思? 是怎么实现的 ? 我怎么才能知道服务器返回的相对路径?

追答

你要把图片保存到项目下面的某个文件夹下面吧,比如 UploadFile/201202121212122.jpg

按钮事件后台 file.save()
保存到项目之中的文件夹之后,就可以直接赋值到前台的textbox了

追问

我没有明白,能否留个联系方式,谢谢啦~~

追答

550609824

参考技术A 你是要显示它的文件名吧,可以用JS的
<script type="text/javascript">
var $ = function (id)
return "string" == typeof id ? document.getElementById(id) : id;
;
function checkext(fileload)
$('TextBox1').innerText = fileload.substring(fileload.lastIndexOf('\\') + 1, fileload.length);

</script>
<asp:FileUpload ID="FileUpload1" runat="server" Width="350px"
onchange="checkext(this.value)" />
参考技术B 在这里你需要的就应该是绝对路径。相对路径是给服务器用的。追问

是已经知道绝对路径转换成相对路径

追答

对于客户端来讲 相对路径有何意义,再说相对谁,浏览器安装路径吗?

参考技术C sdafasdf 参考技术D 请问你的程序还在吗,我也遇到和你一样的问题,能否指教一下,或者把程序发给我看一下吧!跪谢!

C#中网站根路径、应用根路径、物理路径、绝对路径,虚拟路径的区别

../是写在客户端的,浏览器可以识别,并帮你找到相应的文件,
~/代表的是网站的根目录,这个要写在服务器端,也就是c#代码中,浏览器是不能识别的。
相对路径是虚拟路径,物理路径就是真实路径(也就是在服务器本地的路径),比如说你的网站存放在你的d盘。那么你的网站的物理路径就是d:\网站。。。类似这样的,而你在代码中写网站的虚拟路径就可以直接写~/就是网站的根目录了。。。。不知道说的是否明白。。
参考技术A C#中网站根路径,请站点的最外一层
/表示
应用根路径
~/表示,有时候C#程序路径并不是网站路径
物理路径
server.mappath("~/")
是指应用程序放在服务器硬盘的位置
c:\aaa\bbb\ccc
绝对路径:是指以网站根路径为起点页面的位置
/aa/bb/cc/a.aspx
相对路径:是以当前页面的起点目标页面的位置
如当前页面是
/aa/bb/b.aspx
要找
/aa/bb/cc/a.aspx
路径应该是cc/a.aspx
如果要找aa文件夹里的东西就用../xx.aspx

以上是关于C# 相对路径转换成绝对路径。的主要内容,如果未能解决你的问题,请参考以下文章

在asp.net中,加载图片的相对路径和绝对路径分别用啥

c# wpf 相对路径问题

PHP绝对路径的问题

qt 或c/c++中 如何 把绝对路径 转换成 相对路径 ,求实现

cmd 从相对路径转换到绝对路径?

C#中怎么用绝对路径?