当前位置: 首页 > 知识库问答 >
问题:

Angular download Excel从AWS API网关下载时损坏

秦皓君
2023-03-14

我正在后端创建一个excel,并返回如下所示:

return ResponseEntity.ok()
        .contentLength(export.contentLength())
        .contentType(MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
        .body(export);

在角形前端下载如下:

this.service.export()
.subscribe((res) => {
  const url = window.URL.createObjectURL(res);
  let a = document.createElement('a');
  document.body.appendChild(a);
  a.setAttribute('style', 'display: none');
  a.href = url;
  a.download = `export_${dateFormat(new Date(), 'dd-mm-yyyyy_HH:MM:ss')}`;
  a.click();
  window.URL.revokeObjectURL(url);
  a.remove();
});


  public export(): Observable<Blob> {
    return this.http.get<Blob>(`${environment.apiUrlServer}/export`, {
      responseType: 'blob' as 'json'
    });
  }

共有1个答案

商俊智
2023-03-14

我知道bcz的问题是什么,我遇到了同样的问题。Aws在内部作为Linux部署工作,因此在后端u需要更改用于字节转换的方法。你的前端很好,你需要改变字节转换的方式,你在后端使用。

 类似资料:
  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 问题内容: 我有以下代码将页面附件带给用户: 问题是所有受支持的文件都可以正常工作(jpg,gif,png,pdf,doc等),但是.docx文件在下载时已损坏,需要通过Office进行修复才能打开。 起初我不知道问题是否出在解压缩包含.docx的zip文件,所以我没有保存输出文件,而是先保存了文件,然后成功打开了文件,所以我知道问题所在应该在回应写作中。 你知道会发生什么吗? 问题答案: 我也遇

  • 问题内容: 我正在使用角度$ http从服务器下载文件。文件类型可以不同。我应该设置请求标头以进行身份​​验证。下载完成后,文件已损坏!这是我在客户端保存文件的代码: 问题答案: 我最终通过将以下配置添加到ajax请求中解决了该问题: 并将Blob类型更改为 “应用程序/八位字节流”

  • 问题内容: 我正在使用getObject api从AWS s3下载文件。简单的文本文件可以正常工作,但是在pdf下载上我的文件已损坏。我正在使用FileOutputStream并将内容保存在文件中,但是保存的pdf损坏了。 我不太确定用于此目的的正确Java API,读取的字节要写入的字节数组的大小应该是多少。 我也很好奇,直接使用SDK是否有意义,或者我可以利用Java中提供的开源包装器api。

  • 我试图通过调用Spring RESTendpoint在Reactjs中下载Excel文件,但我遇到了损坏文件的问题。 回应呼叫... Spring控制器…… 服务 当我执行上面的代码,我得到一个Excel文件o. k……但看response.data看起来像…… 嘎嘎��由于数据不可读,无法打开文件。打开服务器上创建的文件是可以的 欢迎任何想法 干杯

  • 问题内容: 如果我将 关闭钩子 添加到Java程序的运行时中,如下所示: …那么,在程序/ Java / OS正常退出,崩溃或意外终止时,有 没有可能无法执行该方法的情况?如果是这样,什么情况下可以绕过关机钩,为什么? 问题答案: 如果该进程被终止,将不会执行关闭挂钩。 如果进程崩溃,将不会执行关闭挂钩。 如果您有Windows服务,并且关闭挂钩需要很长时间才能执行,则它将终止。