相关疑难解决方法(0)

PDF处理程序:内容处理文件名

我正在Web浏览器(IE8)中输出PDF文件,HttpContext.Response.writefile(fileName)效果很好.当我尝试保存文件时,它会给我一个默认的ashx处理程序的名称.我想实际传递真实姓名.

我尝试添加标题信息如下:

context.Response.AddHeader("content-disposition", "attachment; filename=" + fileInfo.Name);
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我不希望用户必须在打开和保存之间进行选择,我希望文件正常打开,如果用户选择保存它,那么对话框将为他/她提供默认文件名.

我也尝试过:

context.Response.AddHeader("content-disposition", "inline; filename=" + fileInfo.Name);
Run Code Online (Sandbox Code Playgroud)

或者就像Scott Hanselman在博客中提到的那样.

context.Response.AddHeader("content-disposition", "filename=" + fileInfo.Name);
Run Code Online (Sandbox Code Playgroud)

这些都不适合我.有人有什么想法吗?

filenames ashx handler content-disposition save-as

16
推荐指数
2
解决办法
4万
查看次数

在新选项卡中设置文件名并打开blob pdf类型

我试图在浏览器的新选项卡中打开blob字节流.它是有效的,但我不知道如何设置文件名,以便每个文档在下载时都具有唯一的名称.现在,该文档在保存时默认为"document.pdf".

var blob = new Blob([response.data], { type: "application/pdf" });
            if (blob) {
                var fileURL = window.URL.createObjectURL(blob);
                window.open(fileURL);
            }
Run Code Online (Sandbox Code Playgroud)

javascript pdf

15
推荐指数
1
解决办法
1万
查看次数

为使用 Blob 的 <embed> 或 <iframe> 设置默认另存为名称

我正在使用 PDFKit(无节点)在浏览器中生成 PDF,并通过 src 属性将其显示为 iframe 或嵌入标签。生成的 blob URL 是某种 UUID。所以整个页面看起来像:

<embed src="blob:http://localhost/eeaabb..."/>
Run Code Online (Sandbox Code Playgroud)

PDF 看起来不错,但是当我在 Chrome 中单击下载链接时,默认文件名是 UUID。在 FireFox 中,它只是“document.pdf”。

如果这是服务器生成的 PDF,我将使用 Content-Disposition 和/或操作 URL,因此它的最后一部分是我想要的名称,但这对于客户端生成的对象似乎是不可能的。

我尝试过的事情:

  • 通过元数据设置 PDF 标题。这有效但不影响文件名。
  • 操作嵌入标签标题属性。好像什么都没做
  • 更改页面标题。不影响文件。
  • 尝试在数据 url 中附加一些内容。只是阻止显示 PDF。
  • 通过 POST 上传 PDF,然后通过我可以控制 URL 的页面下载它。可以工作,但生成客户端 PDF 只需要将其上传到服务器似乎很疯狂。

有没有办法解决这个问题,以便我可以控制默认/建议的文件名?

html javascript pdf node-pdfkit

6
推荐指数
1
解决办法
1万
查看次数

如何更改 base64 应用程序/pdf 文件名?

我调用的 API 返回一个类似“JVBERi0xL....(more)”的字符串

我将结果值设置为变量pdfFile,例如

var file = "data:application/pdf;base64,"+res.data.result;
// here res.data.result = 'JVBERi0xL....(more)'
this.pdfFile = file;
Run Code Online (Sandbox Code Playgroud)

我的 Html 代码是

<object :data="pdfFile" name='test' type="application/pdf"  width="100%" height="800px"></object>
Run Code Online (Sandbox Code Playgroud)

像这样,我可以在浏览器上显示pdf,但无法更改pdf文件的名称。

帮助: 我需要更改标有红色的名称。

我需要更改标有红色的名称。

添加了更大的图像: 上一张图像的放大版本

javascript pdf base64 html-object

5
推荐指数
1
解决办法
5030
查看次数