【问题标题】:Link Button File download not works well with firefox链接按钮文件下载不适用于 Firefox
【发布时间】:2014-05-30 06:18:57
【问题描述】:

我在 asp.net 的 gridview 中有一个动态超链接,用于下载文件。当我单击该链接时,IE 会使用“C:/Desktop/Files/File.jpg”正确下载文件。 但是使用 Firefox,下载链接显示为“localhost:XXXX//C:/Desktop/Files/File.jpg” 并在浏览器“错误请求”中引发错误

这是我呈现链接的方式:

//created a hyperlink on Row data bound// 
HyperLink link = new HyperLink(); 
link.Text = "Download"; 
link.NavigateUrl = ResolveUrl(link to my download file path); 
link.Target = "_blank"; 
e.Row.Cells[5].Controls.Add(link);

【问题讨论】:

  • 你需要展示一些代码;你是如何生成这个下载链接的?
  • @ReinderWit //在 Row 数据绑定上创建了一个超链接 // HyperLink link = new HyperLink(); link.Text = "下载"; link.NavigateUrl = ResolveUrl(链接到我的下载文件路径);链接.目标 = "_blank"; e.Row.Cells[5].Controls.Add(link);
  • 您能否提供一些示例,说明“我的下载文件路径的链接”是什么?
  • C:/Desktop/Files/File.jpg
  • 这个文件似乎不是网站的一部分,对吗? ResolveUrl 将尝试创建文件的正确路径,但这些文件显然必须在网站内可用或放置在 Internet 上的其他位置。 'relativeUrl' 参数应该是相对或绝对 URL,而不是文件系统路径

标签: c# gridview download


【解决方案1】:

ResolveUrl method 期望“relativeUrl”参数是绝对 URL 的相对路径,而不是文件系统路径。 看起来您正在向它传递一个网络位置,这是不可能的。 ResolveUrl 不会自动通过网站提供文件,它只会将给定的 URL 重写为对客户端更合乎逻辑的 URL。

例如,它会重写如下内容:

../../../Images/logo.jpg

/Images.logo.jpg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多