Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件存储在asp.net中的web应用程序中_Asp.net_File - Fatal编程技术网

将文件存储在asp.net中的web应用程序中

将文件存储在asp.net中的web应用程序中,asp.net,file,Asp.net,File,我有一组组件,希望让用户从我的web应用程序下载。 现在的问题是,我应该将文件放在app_数据中的什么位置,或者在asp.net web应用程序中创建一个单独的文件夹,如图所示,或者是否有其他最佳解决方案 我所说的组件是指你可以看一看!那么,存储组件的最佳方式是什么 现在我要做的是:我将文件存储在应用程序外部的一个外部文件夹中,更具体地说,存储在我的c驱动器的documents文件夹中,当用户单击某一行的按钮(在网格视图中)时,我将组件的路径存储为表的一个数据元素我将获取特定单击行的标题,并使用

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

我所说的组件是指你可以看一看!那么,存储组件的最佳方式是什么

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

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);

我做得对吗?有更好的/最佳的方法吗?

您目前所做的看起来是提供站点外下载的一种相当标准的方法


我想不出比这更“优化”的了。

用户只需要读取权限就可以下载一个文件,所以你只需创建一个目录,并将它们放在那里


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

应用程序数据是用于基于文件的数据库的。