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

在新建页签中打开PDF,保存文件给出错误的文件名

巩衡
2023-03-14

有一个Angular 6应用程序有一个下载pdf文件的功能。它使用来自另一个spring boot应用html" target="_blank">程序的REST API下载文件。

要求是我需要在新标签打开pdf文件,而保存它应该有一个有意义的名称。

我可以得到文件下载和打开在新的标签。但在保存文件时,它从URL中取名字。

我尝试在浏览器中直接从REST API打开文件并保存它,以及从angular App获取blob并在新窗口中打开。两者都打开文件,但在保存时,它们从URL中取名字。

>

  • 在新窗口blob中角形打开blob:https://defg.com/89a0396e-994b-43d0-b3e3-aaa95d47db9f如果我尝试下载打开的文件,建议以名称89a0396e-994b-43d0-b3e3-aaa95d47db9f.pdf保存,有没有办法在下面的方法中传递或设置文件名?

    var fileURL=window.url.createObjectUrl(file);window.open(fileURL,“_blank”);

    API-采用加密名称https://abcd.com/ws/filedownload/85C1E5010AFAE309E89534FAC594C9110D74FED4DF78AA8EE199C78B570FABF8BC6640F0563778DD963.pdf如果我尝试下载打开的文件,建议第一次使用正确的名称保存,第二次尝试时将url中的字符串显示为名称,85C1E5010AFAE309E89534FAC594C9110D74FED4DF78AA8EE199C78B570FABF8BC6640F0563778DD963.pdf

    检查响应,头看起来很好,

    内容配置:内联;filename=“test.pdf”

    任何建议都会有帮助。提前道谢。

  • 共有1个答案

    徐俊楚
    2023-03-14

    您可以使用文件保护程序库,如下所示:

    import { saveAs } from 'file-saver';
    ...
    awesomeDownloader(url: string, fileName: string) {
      const blobFile = functionsThatGetsTheBlob(url);
      saveAs(blobFile, fileName);
    }
    ...
    
     类似资料:
    • 问题内容: 我已经实现了RPCService,RPCServiceAsync和RPCServieImpl。单击按钮后,将调用服务器端的服务,该服务将从数据库中获取数据并创建文件。创建文件后,我需要在客户端打开该文件,并需要提示一个带有打开/保存选项的对话框。我如何实现此打开文件部分。请提出一种实施t ..的方法。 @Hambend:我还有一个澄清点!..如何在另一个servlet中调用此doGet

    • 现在我想打开一个意图查看这个pdf文件,我已经为此使用了以下代码: 我的手机有应用程序,可以打开这个pdf文件,但它说没有安装的应用程序,以查看这个文件。 如果我在文件中转换这个url并使用下面的代码,那么应用程序的选择器被打开,但它给出了文件无法打开的错误。 多谢你提前了。

    • 我有一个PDF文件,我想创建两个新的文件的基础上,原来的文件。第一个新文件应该得到原始文件的第1、2和4页,第二个新文件应该得到原始文件的第3页。在PHP7.3中这样做的最好方法是什么?我在这里发现了一个旧库,但我不想把这样一个旧库添加到我的代码中。在此基础上,我找到了一些云解决方案,但这也不是我想要的。没有简单的“现代”解决方案吗?

    • 有解决方案吗??因此我不能工作。

    • 我不熟悉R和NetCDF文件。我试图从这里打开.nc文件中的海面温度数据。我的代码如下: 但是我收到以下错误: 我从这里到这里都遵循了代码。我做错了什么? 非常感谢,米希尔

    • 问题内容: 我正在学习如何在Python中打开文件,但是当我键入要打开的文件的路径时,会弹出一个窗口,说“(unicode错误)’unicodeescape编解码器无法解码位置2-3的字节:被截断的\ UXXXXXXXX转义”。它突出显示了我的第一个括号。这是代码: 问题答案: 一个明显的问题是您使用的是普通字符串,而不是原始字符串。在 会被解释为制表符,而不是文字反斜杠,其后是。 使用以下之一: