0

在我的项目中,我将有一个链接,例如

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

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

该文件甚至没有下载。

4

4 回答 4

1

这不是一个有效的路径:

~/你好世界.crx

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

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

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

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

(注意:这假设使用 Razor 视图引擎。如果您不使用它,那么您将希望使用您的等效视图引擎。)

于 2013-01-28T13:44:12.490 回答
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>
于 2013-01-28T13:55:45.200 回答
0

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

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

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

于 2013-01-28T13:47:20.087 回答
0

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

于 2013-01-28T13:47:46.580 回答