繁体   English   中英

在Chrome应用中保存文件而没有“保存”对话框

[英]Save a file without the save dialog box in Chrome Apps

在我的Chrome应用中,我正在将一些数据写入文件。 我使用了官方网站上存储API下的以下代码

chrome.fileSystem.chooseEntry({type: 'saveFile'}, function(writableFileEntry) {
writableFileEntry.createWriter(function(writer) {
  writer.onerror = errorHandler;
  writer.onwriteend = function(e) {
    console.log('write complete');
  };
  writer.write(new Blob(['1234567890'], {type: 'text/plain'}));  
}, errorHandler);
});

现在,我需要避免弹出“保存”对话框,并将此文件保存在预定义的位置。

这可能吗?

如果您需要持久性数据,但又不想打扰用户使用本地计算机上数据的位置,则可以选择以下几种方法:

这些都不会为您提供用户可以访问的真实文件。 如果用户(除了您自己的应用程序之外)需要能够访问您编写的文件,则需要询问用户将文件放置在何处。 正如Cerbrus在对您的问题的评论中所说的那样,将文件静默地放在用户计算机上的某个地方将是一个安全问题。

Chrome 31的一项新功能是chrome.fileSystem.retainEntry 使用此API,您的应用将能够在应用重新启动时保留许多fileEntries(包括目录),因此您不必麻烦用户来选择文件位置。 据我了解,允许用户选择位置存在限制,以使恶意应用无法指导用户指示Chrome覆盖系统文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM