c# - 无法从 asp.net 中的上传文件夹下载文件/图像

标签 c# asp.net .net webclient

我需要下载存储在 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/

相关文章:

c# - 基于 SSL + X.509 的 Web 服务返回 SSL/TLS 错误

c# - 如何清除/更改 aspx 页面中的查询字符串?

c# - 从 asp 表到数组

asp.net - 如何将存储在数据库中的规则以 vb.net 代码的形式转换?

c# - 此商家已禁用 DPRP。 Paypal 错误

C# 正则表达式模式删除列表中的所有内容

c# - 立即导入项目

jquery - 使用 jQuery 仅在 div 中包装前 3 个元素

.net - 避免违反复用抽象原则

c# - C# 项目的目标是 ".NetFramework, Version=v4.5,Profile=Unity Full v3.5",它没有安装在这台机器上