如何在我的项目中向用户添加下载链接

时间:2013-01-28 13:40:09

标签: c# javascript jquery asp.net-mvc

在我的项目中,我将有一个像

这样的链接
 <a href="~/hello world.crx" target="_blank">Download</a>

我希望用户下载不同类型的文件。该文件将位于根文件夹中。当我点击链接时,它显示错误。这是在chrome中安装的插件。如果用户下载此链接并打开则会自动添加到Chrome。 我怎么能这样做。

该文件甚至没有下载。

4 个答案:

答案 0 :(得分:1)

这不是有效路径:

  

〜/ hello world.crx

~字符用于使用服务器端来表示应用程序的根目录。客户端没有任何意义。浏览器不知道应用程序的根目录(或者应用程序是什么),它只是向地址处的资源发送请求。而且它不知道如何处理该地址。

您需要使用一些服务器端逻辑将该路径转换为浏览器可用的路径,或者手动使其成为相对路径或绝对路径。

如果ASP.NET MVC框架没有为您翻译,那么您可能正在使用需要更多手动工作的版本。尝试类似:

<a href="@Url.Content("~/hello world.crx")" target="_blank">Download</a>

(注意:这假设使用了Razor视图引擎。如果您没有使用它,那么您将需要使用与视图引擎相同的任何内容。)

答案 1 :(得分:0)

您需要做的是在线设置一个目录,您可以在其中托管该文件。

我也看到你的aref中你不想输入完整路径所以用/hello_world.crx来表示它,但要确保你已经设置了一个基本的href:

<base href="http://yourdomain.com/something/">

答案 2 :(得分:0)

尝试重命名文件以删除任何空格,例如“hello_world.crx”然后更改链接代码中的名称以匹配。

答案 3 :(得分:0)

如果网页和可下载文件位于同一位置

(i.e)
SampleFolder->Download.html
SampleFolder->hello world.crx

然后尝试下面的

<a href="hello world.crx" target="_blank">download</a>

如果网页和可下载文件位于不同位置

(i.e) 
SampleFolder->Download.html
SampleFolder->Downloads->hello world.crx

然后尝试下面的

<a href="Downloads/hello world.crx" target="_blank">download</a>