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

使用自定义名称保存嵌入的pdf[重复]

柏明亮
2023-03-14

在我的网页上,我的pdf设置如下:

<object data="myURL" type="application/pdf" width="300" height="200"></object>

其中URL是使用javascipt从如下blob创建的:

var myURL = URL.createObjectURL(blob);

pdf会显示出来,但当我单击右下角的保存按钮(使用chrome)时,我会得到一个预定义的名称(可能是用javascript创建的URL名称)。。。

我怎样才能改变那个名字?

共有2个答案

钱渊
2023-03-14

据我所知,在这种情况下自定义文件名的能力取决于浏览器。我能够实现它的方法是使用这里的代码:https://github.com/eligrey/

水滴(https://github.com/eligrey/Blob.js)库在本机不支持blob的浏览器中实现blob(有用),并且

文件保存器(https://github.com/eligrey/FileSaver.js)库是我在一个Web应用程序中使用的,它使使用文件名保存blob变得非常简单。。就这么简单:

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");

如果您想自己实现它,代码就在那里。较旧的浏览器可能无法使用文件名,但Chrome应该是完全可以接受的。这个解决方案更多的是javascript,并在功能上创建blob,而不是像您在问题中那样使用HTML标记。

鄢选
2023-03-14

您可以将install='filename'属性添加到嵌入式pdf链接...

<object data="myURL" type="application/pdf" download="FileName" width="300" height="200"></object>

在jQuery中,可以使用所需的文件名更改dom ready上的属性。。例如:。

$(document).ready(function(){
   $('object[data=myURL]').attr('download', 'newFilename.pdf');
});

答案的来源

 类似资料:
  • 问题内容: 我已经创建了一个将捕获图片并保存在sdcard文件夹中的android应用程序,现在我想使用自定义名称保存图片。 这是我用来捕获图像并将其保存在sd卡文件夹中的代码,请帮助我以特定名称保存图像,例如:android.jpeg 问题答案: 您还需要在Android清单中添加权限。 该代码段将使用名称保存内部内容

  • 问题内容: 我们有一个Angular应用程序,该应用程序获取一些输入参数,并将其发送到后端进行处理。处理结果是一个我们要在新选项卡中打开的pdf文件。 这样做的代码如下所示: 一切正常,但浏览器中的URL显示一些随机生成的字符串,如下所示: 显然,这对于最终用户来说看起来不太好,我们希望显示一些对用户有意义的内容,例如: 我是JS的新手,Angular的新手,HTML的新手,希望我的问题听起来不是

  • 我有一个简单的类客户端: ,clientrepository: ,ClientrepositoryCustom: 我在选择名字方面有哪一级的自由?这可能吗?是否有一个触发词,如果我想要一个与我实体的属性无关的名称,我必须使用它? 如果我查询两个属性。似乎我可以编写类似这样的方法,但我不希望有一个带有与方法名无关的附加参数的方法。 提前感谢,任何反馈都很感激!

  • 我正在尝试使用来保存图像,但它总是以这个名称保存文件1637955326427.jpg并且文件的大小0 B。 <代码>列表。获取(0)。getDocFile()返回一个文档文件,我也在API 28上测试了这个,谢谢 请注意,此图像已存在于外部存储器中,只需复制即可。 编辑:我删除此代码是重复的。我真的很抱歉。文件工作正常,但盗用了错误的名称。

  • 我有一个Spark(2.4)数据帧,我想将其编写为管道分隔文件。应该是很简单的 我在中得到一个文件。 到目前为止,一切顺利。但我实际上希望文件名是特定的,例如,tmp/myDF。csv 但是在save中输入这个字符串只会创建一个名为myDF的dir。csv并创建零件*。csv文件。 有没有办法用一个特定的名称来编写数据帧?

  • 问题内容: 我想要一个Java枚举,其值是整数。 例如: 但是我也想要这两个常量的自定义名称, 例如“ Task Created”和“ Task Deleted”(那里有空格)。 我想尽可能优雅地做到这一点,而无需编写 太多额外的代码。 我可以在没有其他 将枚举常量映射到其自定义名称的映射的情况下实现此目标吗? 我在该项目中使用JDK 6。 问题答案: 只需为此添加一个字段: 如果您不想指定字符串