angular - Angular - 无法下载 zip 文件
问题描述
我有一个角应用程序,它按预期工作,除了能够从网络路径下载 zip 文件。
我收到以下错误消息:“ CORS 策略已阻止从源 ' http://localhost:4200 ' 访问 'file://IPAddress/d$/***/Output.zip' 处的 XMLHttpRequest:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。"
这是我用来下载 zip 文件的函数:
downloadFile(filePath: string) {
return this.http.get(filePath, {
responseType: 'arraybuffer'
}).subscribe(data => {
const blob = new Blob([data], {
type: 'application/zip'
});
const url = window.URL.createObjectURL(blob);
window.open(url);
});
}
重要的是要指出,通过在 IIS 8.5 上托管 Angular 应用程序,我也面临同样的问题。这是 IIS 8.5 中属于 Angular 应用程序的 web.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/ApplicationName/"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
你能帮忙解决这个问题吗?
解决方案
这看起来像一个 CORS 问题。
IIS需要发送HeaderAccess-Control-Allow-Origin: *
也许这有助于在 IIS 中启用它: https ://enable-cors.org/server_iis7.html
推荐阅读
- pdf - Cloud Vision API - PDF+OCR 作为输出格式可能吗?
- java - 在 SSL 中使用 Spring BOOT 进行 SOAP 身份验证
- pine-script - tradingview pine 脚本中的 if 语句问题
- matlab - 使用 fmincon() 求解一个特殊的非线性程序
- get - 如何从 FTP 中获取具有特定名称的文件夹和子文件夹
- typescript - 如何理解类型 any、unknown、{} 之间以及它们与其他类型之间的关系?
- php - 在 laravel 中为未登录用户授权资源
- django - 特定 URL 调用
- python-sphinx - 如何在 Sphinx 中确保正确的智能报价?
- php - PHP / MySQL:来自 MySQL 的数据不显示在选择选项中(下拉列表)