从另一个目录下载文件 AngularJS
Download file from another directory AngularJS
我正在处理一个 angularJS 项目,我必须在用户单击下载按钮时触发 .txt 文件的下载。
但是该文件存在于另一个目录中
<a ng-if="ErrorReport && ErrorMessage" href="../../C:\Users\Ali\Pictures\{{ErrorReport}}.txt"
class="btn btn-primary"
download>
Download error report
</a>
文本文件(待下载)是 API 在 运行 时创建的错误报告,因此它总是有一个动态名称,这就是我使用的原因{{ href
中的 ErrorReport}}
知道如何给它引用应用程序目录外的文本文件吗?
试试这个:
href="file:///C:\Users\Ali\Pictures\{{ErrorReport}}.txt"
您使用的是相对路径语法和绝对路径语法,
所以我的示例使用了正确的绝对路径
在 html 中使用 ng-href
而不是 href 并提供浏览器可以理解的绝对路径。 ng-href
将有助于绑定范围内容。
<a ng-if="ErrorReport && ErrorMessage" ng-href="file:///C:/Users/Ali/Pictures/{{ErrorReport}}.txt"
class="btn btn-primary"
download>
Download error report
</a>
但它不会完全解决您的问题。您正在尝试从浏览器访问本地资源。为此,您需要允许您的浏览器访问您的本地文件。
转到 Chrome 可执行文件,然后在 cmd
下面 运行
.\chrome.exe --allow-file-access-from-files
现在您可以从本地访问文件,但同样危险。
它会让您的文件系统保持打开状态,以便从浏览器访问。来自任何地方的文档都可以访问本地 file:///
资源。
你最好 运行 你的文件所在的文件夹中的服务器实例,并像 http://localhost:8080/file.txt
.
一样访问该文件
你可以使用 chrome extension 200 OK 或者你可以 install
http-server globally using node's package manager like
npm install -g http-server
并且您可以从命令提示符启动服务器,如
C:\Users\Ali\Pictures> http-server
希望这能解决您的问题!!
我正在处理一个 angularJS 项目,我必须在用户单击下载按钮时触发 .txt 文件的下载。 但是该文件存在于另一个目录中
<a ng-if="ErrorReport && ErrorMessage" href="../../C:\Users\Ali\Pictures\{{ErrorReport}}.txt"
class="btn btn-primary"
download>
Download error report
</a>
文本文件(待下载)是 API 在 运行 时创建的错误报告,因此它总是有一个动态名称,这就是我使用的原因{{ href
中的 ErrorReport}}知道如何给它引用应用程序目录外的文本文件吗?
试试这个:
href="file:///C:\Users\Ali\Pictures\{{ErrorReport}}.txt"
您使用的是相对路径语法和绝对路径语法,
所以我的示例使用了正确的绝对路径
在 html 中使用 ng-href
而不是 href 并提供浏览器可以理解的绝对路径。 ng-href
将有助于绑定范围内容。
<a ng-if="ErrorReport && ErrorMessage" ng-href="file:///C:/Users/Ali/Pictures/{{ErrorReport}}.txt"
class="btn btn-primary"
download>
Download error report
</a>
但它不会完全解决您的问题。您正在尝试从浏览器访问本地资源。为此,您需要允许您的浏览器访问您的本地文件。
转到 Chrome 可执行文件,然后在 cmd
下面 运行.\chrome.exe --allow-file-access-from-files
现在您可以从本地访问文件,但同样危险。
它会让您的文件系统保持打开状态,以便从浏览器访问。来自任何地方的文档都可以访问本地 file:///
资源。
你最好 运行 你的文件所在的文件夹中的服务器实例,并像 http://localhost:8080/file.txt
.
你可以使用 chrome extension 200 OK 或者你可以 install
http-server globally using node's package manager like
npm install -g http-server
并且您可以从命令提示符启动服务器,如
C:\Users\Ali\Pictures> http-server
希望这能解决您的问题!!