这是一个非常简单的问题,但给我带来了很多麻烦。我想在本地文件系统中将文件从原点移动到目标。
我正在使用HTML5 FileSystem API。这是我的代码:
// Note: The file system has been prefixed as of Google Chrome 12:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
// window.requestFileSystem(type, size, successCallback, opt_errorCallback)
window.requestFileSystem(window.TEMPORARY, 1024 * 1024, (fs) => {
this.copyResouce(fs.root, "/home/user/Escritorio/img.png", this.AppConfig.DEFAULT_RESOURCE_PATH + "img/");
}, this.errorHandler);
private copyResouce(cwd, src, dest) {
cwd.getFile(src, {}, (fileEntry) => {
cwd.getDirectory(dest, {}, (dirEntry) => {
fileEntry.copyTo(dirEntry);
});
}, this.errorHandler);
}
但是我得到 NOT_FOUND_ERR - 处理操作时找不到请求的文件或目录。
我在Electron App中使用了AngularJS + Typescript的堆栈。
有什么想法吗?
干杯, 阿贝尔
答案 0 :(得分:1)
您是否使用Chrome进行测试? 请阅读http://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0010.html 这个API已被W3C弃用,并且永远不会在所有导航器中实现,只能实现chrome。
可用文件也在沙箱中。你确定你的文件在里面吗?
答案 1 :(得分:0)
Electron将使用第1行的window.requestFileSystem,但是在第2行,您将传递基于webkit的路径(window.temporary)。我认为你应该通过本地文件系统根路径。我认为你可以添加fs
节点模块而不是window.temporary,传递fs.root(root是特定于平台,在电子中我认为是file:///temporary/
)并且在大多数情况下它都可以工作