我想保存到数据库中一个路径,现在首先有这样几个变量
string path=HttpContext.Current.Server.MapPath("/news/");
path+=DateTime.Now.ToString("yyyyMM")+"/";然后还有文件名string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
然后我就想 根据这几个内容来保存路径
如果我定义一个变量strURL,strURL=path + htmlfilename;
这样保存到数据库里的路径就是:c:\inetpub\wwwroot\news\200608/20060816214344.html这样的,这个字段本意是想实现当需要显示这个内容的时候,直接读取这个字段的值,便可当作网址来访问,所以保存成这样的值是不行的
我想问问高手,怎么样能实现根据我上边的内容,把这个strURL的结果变成是http://..../news/200608/20060816214344.html呢,http://....这个内容可以让程序自动获取
盼望得到高手的指点,先谢谢
string path=HttpContext.Current.Server.MapPath("/news/");
path+=DateTime.Now.ToString("yyyyMM")+"/";然后还有文件名string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
然后我就想 根据这几个内容来保存路径
如果我定义一个变量strURL,strURL=path + htmlfilename;
这样保存到数据库里的路径就是:c:\inetpub\wwwroot\news\200608/20060816214344.html这样的,这个字段本意是想实现当需要显示这个内容的时候,直接读取这个字段的值,便可当作网址来访问,所以保存成这样的值是不行的
我想问问高手,怎么样能实现根据我上边的内容,把这个strURL的结果变成是http://..../news/200608/20060816214344.html呢,http://....这个内容可以让程序自动获取
盼望得到高手的指点,先谢谢
我可以怎么办,才能在上边的基础上取到这样的值呢
然后我还想保存这个地址,就出现了那样的问题
string strURL= virtualPath + htmlfilename;把 path + strURL用于生成文件夹
把 "/news/" + strURL 保存以数据库中
按着你刚写的那个就是保存成了你说的那种路径
那么我显示的时候怎么根据数据库的那个字段实现呢?
比如我现在是直接使用的<a href='<%# (DataBinder.Eval(Container.DataItem,"ArticleUrl")).ToString() %>' target=_blank>那个articleUrl字段就是刚刚保存这个 路径的
在datagrid的模板列直接写<a href='<%# (DataBinder.Eval(Container.DataItem,"ArticleUrl")).ToString() %>' target=_blank>
就可以正确显示出当前页,而且地址栏显示的地址是:http://localhost/news/200608/20060817160822.html
这个是正确的
可是还有一个问题:当我想修改这个html文件时候,我也是那样从数据库读ArticleUrl字段,然后想直接覆盖原来的这个文件
但是路径就出现了错误,修改时候查这个字段取的是“未找到路径“C:\news\200608\20060817160822.html”的一部分。”
这个路径就变成了这样的,成了C盘根目录下的一个文件了
正确的该怎么取呢
保存到数据库时使用相对路径 news/xxx.html读取并定向时也使用相对路径.