gpt4 book ai didi

javascript - 显示 API 返回的 PDF 文档

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:34 26 4
gpt4 key购买 nike

我的 API 返回一个 PDF 文档,我需要对其用户进行身份验证。在我的 AngularJS 应用程序中,用户单击调用函数的链接:

 <a ng-click="getBankDetails()">Print bank details</a>

Controller :

$scope.getBankDetails = ->
$http.get(ENV.apiEndpoint + "/api/v1/users/get_bank_details", { headers: { 'Accept': 'application/pdf' }, responseType: 'arraybuffer' })
.success((resp) ->
file = new Blob([resp], {type: 'application/pdf'})
fileURL = URL.createObjectURL(file)
window.open(file);
)

但这行不通。

我已经尝试删除 API 上的身份验证需求。上面的方法还是不行,但是如果我这样做了

window.open(ENV.apiEndpoint + "/api/v1/users/get_bank_details")

有效。除了确认我的 API 工作正常外,没有太大帮助。

我正在使用 ng-token-auth 进行身份验证

它存储在 cookie 中,因为我在这里没有使用 cordova

$authProvider.configure
apiUrl: ENV.apiEndpoint
storage: if _.isUndefined(window.cordova) then "cookies" else "localStorage"

任何帮助将不胜感激

最佳答案

如果您使用的是基于 token 的身份验证,我会尽可能简单地通过将 authToken 添加到 URL 中来接收文件。通过后端作为该请求的 GET-Param 处理 authToken:

$scope.getBankDetails = function () {
window.open(ENV.apiEndpoint + "/api/v1/users/get_bank_details?authToken=XYZ");
}

关于javascript - 显示 API 返回的 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48829837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com