2011-08-29 39 views
1

我如何可以下载一个文件[不点击任何按钮或链接或锚标记]在页面加载事件,我想下载的页面加载它自己的文件时,请helpe我,谢谢在页面加载事件中下载文件?

+0

您的意思是您希望浏览您的网站的用户在浏览到指定页面后立即开始下载文件?有点像你在浏览器URL中输入可下载的文件? –

+0

Hi Kiley Naro,当我向包含链接的用户发送一个包含链接的用户时,他希望得到他的确认并同时下载该文件。 –

回答

1

假设您已将文件下载到磁盘上并具有路径。下面的代码将做的伎俩。

// You should put more appropriate MIME type as per your file time - perhaps based on extension 
Response.ContentType = "application/octate-stream"; 
Response.AddHeader("content-disposition", "attachment;filename=[your file name w/o path]"); 
// Start pushing file to user, IIS will do the streaming. 
Response.TransmitFile(filePath); 
+0

嗨Vinay,当下载完成时,我想关闭我的应用程序或网络 –

+0

@Surya,不幸的是,这是不可能的。由于安全隐患,浏览器不允许通过脚本未打开的脚本来关闭任何窗口。从更好的用户体验角度来看,当用户点击链接时,它应该打开下载页面,并带有一些友好的信息并使用java-script,它应该将页面重定向到实际的下载URL。下载url应该使用'content-disposition'作为'inline' - 对于pdf,html,doc等文件,浏览器可能会在同一个窗口中打开,而不是下载到磁盘。一旦阅读,用户可以关闭窗口 – VinayC

1

在你Page_Load方法添加以下行,设置适当的内容类型并使用要下载的文件的全名替换yourfile.extention。

this.context.Response.ContentType = "application/filetype"; 
this.context.Response.AddHeader("content-disposition", "attachment;filename=yourfile.extension");