Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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 从数据库下载exe文件_Asp.net_Vb.net - Fatal编程技术网

Asp.net 从数据库下载exe文件

Asp.net 从数据库下载exe文件,asp.net,vb.net,Asp.net,Vb.net,我有一些exe文件,我已经上传到我的数据库,因为我不想让他们公开访问。我尝试使用链接按钮和通用处理程序,使用以下代码为文件提供服务: Context.Response.Clear() Context.Response.ContentType = "application/exe" Context.Response.AppendHeader("Content-Disposition", "filename=program.exe") Context.Response.BinaryWrite(bin

我有一些exe文件,我已经上传到我的数据库,因为我不想让他们公开访问。我尝试使用链接按钮和通用处理程序,使用以下代码为文件提供服务:

Context.Response.Clear()
Context.Response.ContentType = "application/exe"
Context.Response.AppendHeader("Content-Disposition", "filename=program.exe")
Context.Response.BinaryWrite(binaryfile)
问题是:Google Chrome不会将下载内容视为任何其他exe,而是在下载后报告“program.exe不常下载,可能有危险”。通过“放弃”按钮和“保留”选项,下载内容隐藏在上下文菜单下


有没有其他/更好的方法来提供存储在数据库中的exe文件?

我不经常在野外看到
application/exe
。对可执行文件使用
应用程序/octet流
更为常见

如果您使用的是.NET,那么我将假设您使用的是IIS。(如果不是这样,请纠正我。)如果是这样,可能会有所帮助


当然,您将无法从服务器端绕过任何真正意义上的浏览器端限制。您可以修改发送给客户机的标题,但最终取决于客户机如何处理响应。

您是否查看了以下问题:


Jeff G建议注册Google网站管理员工具并添加您的网站。谷歌需要几天的时间来抓取你的网站,并填写任何信息,但它最终会停止认为你的文件是恶意的。

在我的例子中,我用以下一组标题解决了这个问题:

Cache-Control: max-age=864000
Content-type: application/octet-stream
Content-Disposition: attachment; filename="....zip"
Content-Transfer-Encoding: binary
Last-Modified: ...
Etag: ...
Content-Length: ...

特别注意内容类型、缓存控制、上次修改和Etag,这似乎是对我有用的标题。

可能是因为MIME类型不正确,需要其他类型吗?是的,我无法通过任何浏览器限制。不得不压缩我的文件。@Zishan:你是说只压缩可执行文件?如果浏览器也能聪明地处理这类事情,我也不会感到惊讶。只是要记住一点。拉链并不能帮助避免这个警告。