none
请教,到底该如何保存文件路径? RRS feed

  • 问题

  • 困扰一个很久的问题。上传的文件,到底怎样保存路径到数据库。要下载的时候怎么取路径?

    这个web应用程序的存储方式有关吗?比如有的是网站,有的是虚拟目录。越来模糊了。

    比如,有应用程序myhome,我在它下建立一个数据文件,data_info,用户上传后创建月份文件夹,然后保存

    C:\Inetpub\wwwroot\myhome\data_info\2010-03\my.txt

    我保存的路径为data_info\2010-03\my.txt,前台要下载文件显示路径:http:\\localhost\data_info\2010-03\my.txt

    我基础实在不好,哪位帮忙详细解释一下,谢谢了。

    2010年4月21日 2:12

答案

  • 你保存根目录以下的文件路径就可以了。

    root->files->data_info->2010-03->my.txt,你就保存files\data_info\2010-03\my.txt。

    取得时候用物理路径:Server.MapPath(@"files\data_info\2010-03\my.txt"), 这样可以取到这个文件的物理路径,然后再下载。

    2010年4月21日 2:33
  • 最好用拼接的路径。比如数据库里面存2010-03\my.txt,webconfig里面配置http:\\localhost\data_info\,读取的时候用webconfig里的路径拼上数据库中的路径就可以了。这样做的好处是灵活,如果你把原来的上传文件移动了位置则只要修改配置文件中的路径就可以了。
    2010年4月21日 5:41
  • 你好,

    如果你的网站根目录下data_info这个文件夹是用来保存上传文件的,那拼接的下载地址应该是"~/data_info/月份文件夹/文件名" 这样就可以了。

    能否显示的样子是“http:\\localhost\data_info\2010-03\my.txt”,还得看你网站发布的形式。

    你如果是在自己机子上做测试,发布的时候应该把项目配置成website,默认的是80端口,而不是虚拟目录,这样应该就可以了。

     


    Microsoft Online Community Support
    2010年4月22日 3:43

全部回复

  • 你保存根目录以下的文件路径就可以了。

    root->files->data_info->2010-03->my.txt,你就保存files\data_info\2010-03\my.txt。

    取得时候用物理路径:Server.MapPath(@"files\data_info\2010-03\my.txt"), 这样可以取到这个文件的物理路径,然后再下载。

    2010年4月21日 2:33
  • 我是用datagrid来批量展示数据的,你这样怎么取到?
    2010年4月21日 3:10
  • 最好用拼接的路径。比如数据库里面存2010-03\my.txt,webconfig里面配置http:\\localhost\data_info\,读取的时候用webconfig里的路径拼上数据库中的路径就可以了。这样做的好处是灵活,如果你把原来的上传文件移动了位置则只要修改配置文件中的路径就可以了。
    2010年4月21日 5:41
  • 你好,

    如果你的网站根目录下data_info这个文件夹是用来保存上传文件的,那拼接的下载地址应该是"~/data_info/月份文件夹/文件名" 这样就可以了。

    能否显示的样子是“http:\\localhost\data_info\2010-03\my.txt”,还得看你网站发布的形式。

    你如果是在自己机子上做测试,发布的时候应该把项目配置成website,默认的是80端口,而不是虚拟目录,这样应该就可以了。

     


    Microsoft Online Community Support
    2010年4月22日 3:43