在客户端的Chrome浏览器上使用JavaScript创建一个文件。

11 浏览
0 Comments

在客户端的Chrome浏览器上使用JavaScript创建一个文件。

我想知道是否可以使用Javascript创建文本文件并将文件保存在用户计算机的“下载”部分。我的功能应该在用户点击提交按钮时,将用户信息填充到文本文件中,然后保存在他的计算机上。我希望这在Google Chrome中可以实现。

这是否可能?我看到了一些帖子明确告诉我这是一个严重的安全问题。

0
0 Comments

Chrome不再支持通过导航到data URI来创建文件,因此导致了这个问题的出现。

解决方法是使用Blob对象和URL.createObjectURL()方法来创建和下载文件。具体的解决方法可以参考stackoverflow的这个链接:stackoverflow.com/a/23956661/945687

这个问题的解决方法主要涉及到两个方面的知识点:一是Chrome不再支持通过导航到data URI来创建文件,需要使用Blob对象和URL.createObjectURL()方法来创建和下载文件;二是IE有API用于保存Blob对象,而Chrome和Firefox则可以通过data URI来创建文件。

希望这篇文章对你了解这个问题的原因和解决方法有所帮助。

0
0 Comments

问题的原因是在Chrome浏览器上使用JavaScript创建文件时无法设置下载文件的文件名,默认为“download”而没有扩展名。解决方法是使用download属性来设置下载文件的文件名,该属性在Chrome浏览器上有效,允许您使用任何文件名下载任何内容。

以下是解决方法的示例代码:

data='<a href='data:text;charset=utf-8,'+uriEncode(yourUSERdataToDownload)+' download=yourFileName.txt>Your Download</a>

您可以将以上代码注入到DOM中,供用户点击下载。

通过使用download属性,您不再需要进行消息传递或尝试使用各种已弃用的API。感谢这个方法的简洁易用。

此外,您还可以尝试window.location = "mailto:someone.com?Subject=Hello%20again"来发送电子邮件。

通过以上方法,您可以在Chrome浏览器上使用JavaScript在客户端创建文件并设置下载文件的文件名。

0
0 Comments

问题出现的原因是代码中使用了window.requestFileSystem方法创建文件,但在执行代码时,页面被重定向到一个本地链接,没有显示文件内容。而解决方法是将文件名改为.txt扩展名,并按照html5rocks.com/en/tutorials/file/filesystem上的说明进行操作。但是对于某些用户来说,使用.txt扩展名时文件并未开始下载,而是直接在Chrome中显示文件内容。对于这种情况,原因不明,可能与浏览器版本或其他设置有关。文章中还提到了在Chrome扩展程序中使用该方法时的问题,但没有给出解决方法。

0