用ASP.NET写了一个下载链接。关键代码如下:
            String path1 = Server.MapPath("UpLoadFile/RarFile/"); //获取路径
            string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();//获取扩展名
            string rar_filename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString()                      + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".rar"; //文件的重命名            FileUpload1.PostedFile.SaveAs(path1 + rar_filename); //储存文件然后我将路径path1和rar_filename存入数据库,在下载的时候取出组合成下载链接即可。下载是在DetailsView里实现的,代码如下:        
    <a href="<%#Eval("ST_article_rar_address").ToString()+Eval("ST_article_rar_name").ToString() %>">全文</a>
    
但点击之后不能下载,显示的超链接为:file:///D:/wwwroot/Mocs/UploadFile/2010112211812.rar点击之后没有反应,我知道这是错误的,但为什么出现file?这个应该怎么写呢?
求教各位大侠,不胜感谢。     

解决方案 »

  1.   

    没人回答,低手我来说说你说的:路径path1和rar_filename存入数据库。路径存入库的时候,存入相对路径就行了,不应该存入绝对路径,或者都不用存路径的,String path1 = Server.MapPath("UpLoadFile/RarFile/"); 这不是有路径了吗?如果不同的文件是存在不同的路径,也应该是你设定好,你再从库里读出来就行了。链接应该是:
    <a href=" <%#"file://192.168.0.1/(你的IP)"+相对路径+Eval("ST_article_rar_name").ToString() %>">全文 </a> 
      

  2.   

    你的问题较多,改正如下:
    String path1 = "UpLoadFile/RarFile/"; //获取路径 
    string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();//获取扩展名 
    string rar_filename = DateTime.Now.Year.ToString("yyMMddhhssmm")+ ".rar"; //文件的重命名 
    FileUpload1.PostedFile.SaveAs(Server.MapPath(path1) + rar_filename); //储存文件 然后我将路径path1和rar_filename存入数据库,在下载的时候取出组合成下载链接即可。 下载是在DetailsView里实现的,代码如下:        
        <a href=" <%#Eval("ST_article_rar_address").ToString()+Eval("ST_article_rar_name").ToString() %>">全文 </a> 
      

  3.   

    String path1 = Server.MapPath("UpLoadFile/RarFile/"); //获取路径 
    不应把绝对路径放入数据库中。
      

  4.   

    Server.MapPath()得到的就是物理路径!