我需要下载存储在 asp.net
网络应用程序名称文件夹中的图像作为 uploads
我有一个函数应该把它下载为
private void downloadAnImage(string strImage)
{
Response.ContentType = "image/jpg";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + strImage);
Response.TransmitFile(strImage);
Response.End();
}
我从 link button
调用这个函数作为
protected void lnkDwnSlc_Click(object sender, EventArgs e)
{
if (Session["slc_filepath"] != null)
{
string path = Server.MapPath(Session["slc_filepath"].ToString());
downloadAnImage(path);
}
}
其中 Session["slc_filepath"]
是存储在 session
中的路径
但是运行此代码后,文件/图像未下载,而且我没有收到关于为什么文件未下载的错误。我使用 breakpoint
检查文件路径,它是正确的,
我从谷歌搜索了很多,但我不明白我遗漏了什么。
编辑: 在页面加载事件中,我从表中提取记录,我保存了文件路径,并在 session 中将其存储为
Session["slc_filepath"] = dt.Rows[0]["UploadSLC"].ToString();
其中 UploadSLC
是我存储图像路径的表的列名
在数据库中字符串看起来是
~\uploads\ab071770-473a-4e1a-8cfc-addeccf565d5.jpg
最佳答案
经过长时间的搜索,我找到了答案,但我得到的提示来 self 团队中的后辈,我非常感谢,我刚刚添加了
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.lnkDwnSlc);
在 pageLoad
事件中,因为我在我的 aspx 页面和 Bootstrap 中使用更新面板和脚本管理器进行设计,所以它停止了功能
这样做之后它就像一个魅力,
感谢大家的努力和支持,
关于c# - 无法从 asp.net 中的上传文件夹下载文件/图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33542421/