【问题标题】:storing the files in a web application in asp.net将文件存储在 asp.net 的 Web 应用程序中
【发布时间】:2011-04-25 14:54:40
【问题描述】:

我希望让用户从我的 Web 应用程序下载一组组件。 现在的问题是我应该将文件放在 app_data 中的什么位置,或者在 asp.net Web 应用程序中创建一个单独的文件夹,如 here 所示,或者是否有任何其他最佳解决方案?

我所说的组件的意思是你可以看看this!那么存储组件的最佳方式是什么?

现在我正在做的是:我将文件存储在应用程序外部的外部文件夹中,更具体地说是在我的 c 驱动器的文档文件夹中,并且我将组件的路径存储为该表,当用户单击特定行的按钮(在网格视图中)时,我将获取该特定单击行的标题并使用这些代码行查询数据库表以获取该组件标题的文件路径:

String filePath = dr1[0].ToString(); //GETS THE FILEPATH FROM DATABASE
HttpContext.Current.Response.ContentType = "APPLICATION/OCTET-STREAM";
String disHeader = "Attachment; Filename=\"" + filePath + "\"";
HttpContext.Current.Response.AppendHeader("Content-Disposition", disHeader);
System.IO.FileInfo fileToDownload = new System.IO.FileInfo(filePath);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.WriteFile(fileToDownload.FullName);

我做得对吗?有没有更好/最佳的方法来做到这一点?

【问题讨论】:

  • app_data 用于基于文件的数据库。

标签: asp.net file


【解决方案1】:

用户只需要读取权限即可下载文件,因此您只需创建一个名为“Downloads”的目录并将其放入其中。

您可以通过禁用目录浏览并且不在其中放置任何默认文档(例如 index.html、default.aspx)来确保人们无法“浏览”该目录

【讨论】:

    【解决方案2】:

    您目前正在做的似乎是一种相当标准的从您的网站提供下载的方式。

    我想不出比这更“最佳”的东西了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 2017-09-24
      • 2013-08-01
      • 1970-01-01
      • 2015-09-08
      • 2015-01-03
      • 2011-02-27
      相关资源
      最近更新 更多