用于在数据库中存储组件的文件路径的选项

时间:2011-05-08 18:35:30

标签: c# asp.net format relative filepath

我有一组文件(基本上是“.exe”文件),我允许用户从我的网站下载。要想获得更清晰的图片,请查看this屏幕截图(这只是一个学术项目)。现在我有管理员权限,我可以将新软件文件上传到我的网站根目录的文件夹(componentsFolder),同时我也将文件路径添加到数据库表中。

我正在使用以下代码执行此操作:

string componentRelativeFilePath = @"/ComponentsFolder/" + ComponentName;

我将以下列格式存储文件路径到数据库文件中:  的 /ComponentsFolder/FileName.exe

以下列格式存储文件有什么区别?

  1. /ComponentsFolder/FileName.exe
  2. \ ComponentsFolder \ FILENAME.EXE
  3. 〜/ ComponentsFolder / FILENAME.EXE
  4. 〜\ ComponentsFolder \ FILENAME.EXE
  5. 我正在使用server.mappath从根文件夹中检索文件。

    我想知道这些格式之间的差异(在此上下文中),以及哪一种是在数据库表中存储相对路径的标准/适当/技术上正确的格式。

1 个答案:

答案 0 :(得分:1)

就Asp.Net而言,假设您将图像路径设置为“/Image/pic1.jpeg”,以便在位于网站根目录和Image文件夹中的pic1.jpeg文件夹中搜索图像被搜查。如果在这种情况下将图像源设置为“~/Image/pic1.jpeg”,则从位于Web应用程序根目录下的Image文件夹中读取图像文件,而不管Web中的何处该网页所在的网站。但是'~/'这只能用于服务器控件。 如果path是“../Image/pic1.jpeg”,那么在当前网页的文件夹中搜索Image文件夹。

根据我的观点,以“~/Image/”格式存储路径是Asp.Net的更好选择。

希望我回答你的问题。