2011-04-25 94 views
1

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

我的意思是组件是你可以看看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); 

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

+0

'app_data'是基于文件的“浏览”该目录数据库。 – Oded 2011-04-25 15:06:00

回答

1

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

可以确保人们无法通过禁用目录浏览,而不是将所有默认文档在那里(的index.html,例如Default.aspx的)

1

你目前在做什么看起来像是一个相当标准的方式提供您的网站下载。

我想不出更“最优”的东西。

相关问题