日期:2014-05-20  浏览次数:20664 次

关于路径的问题,顶有分
上传附件时,我存到数据库的附件路径是绝对路径,如下:
  Server.MapPath((this.GetSessionState( "userId ")   +   "/ ")   +   dr[0])
老板说应该把它再转化为与之相对应的相对路径,如何改啊?
下载时,读取的路径格式是绝对路径还是相对路径啊,我用绝对路径的时候提示我路径格式不对。我现在理不清了,请前辈们给我说说,谢谢~~~~

------解决方案--------------------
这样
string relativepath= "/ "+(this.GetSessionState( "userId ") + "/ ") + dr[0];
string absolutepath=Server.MapPath(relativepath);



------解决方案--------------------
使用相對路徑吧.

下載的時候,你把URL指向文件的相對路徑就可以 但是相對路徑一定要准確哈

上傳時要絕對路徑,不然PC怎麼知道存哪個盤下啊,存數據庫是存相對路徑就是了
------解决方案--------------------
1.获取文件的相对路径
2.通过server.mappath()将相对路径转化为绝对路径
3.无论上传还是下载,通过绝对路径读取或保存文件
------解决方案--------------------
dr[0]里面放的是什么,先跟踪下,然后考虑下步怎么做
------解决方案--------------------
学习咯 .
------解决方案--------------------
string sVirPath = this.GetSessionState( "userId ") + "/ ") + dr[0]; string sLocalPath = Server.Mappath(sVirPath); 保存文件用 sLocalPath 保存到数据库用 sVirPath 下载时: 如果做成链接用 sVirPath 如果在aspx后台输出文件用 sLocalPath
------解决方案--------------------
这个就是我在一个项目中用到的一个web.config中的上传和下载路径的配置
<add key= "PicPath " value= "C:\Files\Pic\ "/> //上传路径
<add key= "PicPath_V " value= "/Files/Pic/ "/> //下载路径

看看对你是否有启发~~~
------解决方案--------------------

------解决方案--------------------
string relativepath=(this.GetSessionState( "userId ") + @ "/ ") + dr[0];
string absolutepath=Server.MapPath(relativepath);
这样试试
------解决方案--------------------
上传用实际的物理路径,下载可以用相对虚拟站点或目录的项目相对路径。
例:你的项目或站点叫:DEMO 站点下有个文件夹叫:UpLoadFile/sql.rar
那你在下载的时候就可以用UpLoadFile/sql.rar 这样的路径,会自动加上Http://域名/Demo/

如果有问题就调试下路径加: ../ 这样的路径来修正。

存数据库的时候存:UpLoadFile/sql.rar 就OK

------解决方案--------------------
学习`
------解决方案--------------------


------解决方案--------------------
看看.........
------解决方案--------------------

------解决方案--------------------
路过

------解决方案--------------------
往死里顶.........


------解决方案--------------------
路过
------解决方案--------------------

------解决方案--------------------
顶.........
------解决方案--------------------
快下班了..路过一下
------解决方案--------------------
既然顶也有分 ~
那我就大力的顶一下~
------解决方案--------------------