我正在处理图片库,在浏览图片模块上,我有一个下载图标。我需要它充当下载按钮。当用户点击它时,他们应该会看到保存文件对话框,或者应该使用他们的默认浏览器下载设置下载文件。
我尝试了很多方法,但没有运气。
下载图标出现在模态弹出窗口中,因此所有代码都包含在 UpdatePannel 中
这些图像具有不同的格式(jpeg、gif、tif、psd)
查看http://www.codeproject.com/Articles/74654/File-Download-in-ASP-NET-and-Tracking-the-Status-o或在 ASP.NET 中流式传输文件的最佳方式
最后整理出来:
A) 在客户端位置下载文件:
public void downloadFile(string fileName, string filePath)
{
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", fileName));
Response.WriteFile(filePath + fileName);
}
B)由于触发控件(imgDownload
,imgDownloadPsd
)的函数被包装在异步调用下:将其添加到页面加载:
protected void Page_Load(object sender, EventArgs e)
{ ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(imgDownload);
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(imgDownloadPsd);
}