问题标签 [filesystem-access]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

windows - 什么文件访问唤醒了 Windows 中的睡眠磁盘?

时不时地,我的睡眠磁盘会醒来,执行听起来像是单次读取的操作,然后处于空闲状态,直到它再次进入睡眠状态。有时我正在使用的程序在磁盘旋转时完全冻结大约 10 秒钟,即使该程序似乎不需要从该驱动器读取。

是否有用于在文件访问发生时侦听文件访问或类似情况的 api,以便我可以弄清楚从该驱动器读取的内容,以便我可以移动它?如果不在 Windows 上,我可以在 Linux 上执行此操作吗?

这也适用于确定程序通常访问的文件/文件夹,所以我不会说它只适用于我非常狭窄的问题。

0 投票
1 回答
804 浏览

javascript - 具有文件系统访问权限的本地 HTML + JS 应用程序

我需要使用 HTML 和 JS 创建一个可以编辑和写入文件的离线应用程序(本地应用程序文件夹,但不是沙盒浏览器本地存储)。

有没有办法以一种相当轻量级和直接的方式做到这一点?研究这个问题给了我以下可用选项的概述 - Electron 是巨大的,Chrome 应用程序是一个已停产的项目,W3C FileSystem API 被放弃了,W3C File API 非常严格。

0 投票
2 回答
223 浏览

c# - UWP 中用户可访问的文件存储在哪里?

我这里有一个跨平台应用程序,用于DependencyService获取我的日志文件的文件路径。这适用于ApplicationData.Current.LocalCacheFolder.Path,但现在应该使用户可以访问日志文件。这个想法是用户将他的设备插入 PC,从中复制日志文件,然后通过普通电子邮件将其发送给我。(目前,不打算通过商店分发应用程序,也不能保证用户在其设备上设置了电子邮件帐户。)

首先,我尝试了KnownFolders.DocumentsLibrary,但在这里我得到了Access is denied。如果我查看文档,则此文件夹不适合我使用。其他位置似乎也不适合。

这种方法在 UWP 中可行吗?

0 投票
0 回答
163 浏览

c# - 无法使用 File.WriteAllText() 在 c# 中写入文本文件(Windows 通用);

我正在尝试做一个非常基本的操作:

我收到以下异常:

{System.UnauthorizedAccessException:对路径“.......AppX\Assets”的访问被拒绝。

在 System.IO.Win32FileStream..ctor(字符串路径、FileMode 模式、FileAccess 访问、FileShare 共享、Int32 bufferSize、FileOptions 选项、FileStream 父级)

在 System.IO.Win32FileSystem.Open(字符串 fullPath、FileMode 模式、FileAccess 访问、FileShare 共享、Int32 bufferSize、FileOptions 选项、FileStream 父级)

在 System.IO.MultiplexingWin32WinRTFileSystem.Open(字符串 fullPath、FileMode 模式、FileAccess 访问、FileShare 共享、Int32 bufferSize、FileOptions 选项、FileStream 父级)

在 System.IO.FileStream.Init(字符串路径、FileMode 模式、FileAccess 访问、FileShare 共享、Int32 bufferSize、FileOptions 选项)

在 System.IO.File.InternalWriteAllText(字符串路径,字符串内容,编码编码)

在 System.IO.File.WriteAllText(字符串路径,字符串内容)

在 SynSent18.KnowledgeBase.d__8.MoveNext()}

我将资产设置为所有人完全控制。我什至尝试在 Windows 中预先创建文件并完全控制它。错误仍然存​​在。

想法?

0 投票
1 回答
907 浏览

c# - 是什么导致 DriveInfo.IsReady 为假?

情况

我正在调试一些对目录路径执行一些存在性检查的遗留代码。首先,DirectoryPathA检查并返回是否存在。这应该是通常的情况。如果失败,DirectoryPathB则检查并返回。(如果这也失败了,会发生其他事情,而不是这个问题的一部分)。代码如下所示:

如您所见,第一个检查有一个基于DriveInfo.IsReady. 之前网络上的文件访问存在问题,所以我的假设是(同样,这是遗留代码)引入它是为了在不可用时建立DirectoryPathB作为替代方案。DirectoryPathA我不知道为什么没有DriveInfo.IsReadyDirectoryPathB.

问题

即使DirectoryPathA是本地目录(所以没有网络中断),上面的代码偶尔会返回DirectoryPathB. 代码被执行了几次,并被假定为幂等的,但事实并非如此,这会破坏事情。这只会在几个小时内偶尔在某些机器上发生。我无法重现该问题。

假设驱动器状态在整个程序执行过程中永远不会改变,这是一个基本问题。我明白那个。然而,这段代码似乎大部分时间都很好,而且过去一直如此。

问题

DriveInfo.IsReady可能是什么原因false

该文件指出

true如果驱动器准备好了;false如果驱动器未准备好。

什么都不感谢。备注部分添加

IsReady 指示驱动器是否准备就绪。例如,它指示 CD 是否在 CD 驱动器中或可移动存储设备是否已准备好进行读/写操作。如果您不测试驱动器是否准备好,并且它还没有准备好,使用 DriveInfo 查询驱动器将引发 IOException。

  • 它不是可移动驱动器。我们说的是老生常谈C:\
  • 这不是权限问题,因为它有时适用,有时不适用于同一用户。
  • 这不是驱动器由于省电模式而变得不可用的问题,因为
    • 省电模式未激活并且
    • 这是一个SSD。

旧文档指出

线程安全

这种类型的任何公共静态(在 Visual Basic 中为 Shared)成员都是线程安全的。不保证任何实例成员都是线程安全的。

DriveInfo.IsReady这是否意味着false其他线程同时在驱动器上执行某些操作?甚至有必要DriveInfo.IsReady为了true检查目录是否存在?

0 投票
1 回答
41 浏览

android - KitKat 4.2 和 Nougat 7.1.1 之间的文件系统访问有何不同?

我有一个应用程序 HTMLSpyII,我是几年前开发的,当时我是 Android 编程的绝对初学者。无论如何,这是几年后的事了,这段时间我已经远离编程了,它一直在我的三星 S4 mini KitKat 4.4.2 上运行,但它不会在我的三星 Tab E Nougat 7.1.1 上运行。我确信我错过了一些简单的东西。

该程序正在尝试在设备的下载目录中创建目录 /HTMLSpyII/Jsoup。它从以下代码片段的最后一行输出此两行 runTimeAlert...
Unable to create path
/storage/emulated/0/Download/HTMLSpyII/Jsoup

这是代码片段,它是 onCreate 的一部分...

希望你能帮忙:)

0 投票
1 回答
35 浏览

angular - 从 filesystemAPI 中获取图像(使用 Angular2+)

我玩弄文件系统API。此时我可以使用ngx.webcam 拍照,接下来我将 Base64 转换为 blob,然后使用 filesystemAPI 保存 blob:

现在,如果我浏览我的目录,它会显示我的 blob(我的 blob 的名称)。

然而,我想从我的目录中取出我的 blob 并查看我已经标记的图像。我可以显示的 .txt 文件:

但是如果我尝试将其转移到我的问题上,它就不起作用。我的最后一次尝试:

我的大脑被卡住了。有谁知道,我怎样才能把我的形象出来?

0 投票
1 回答
67 浏览

reactjs - FS 访问 api & React:重复条目

我正在尝试构建一个电影仪表板(类似于 Plex);用户选择一个文件夹,文件夹中的所有电影都会显示出来。使用新的文件系统访问 API 允许我动态创建文件处理程序并能够使用浏览器视频播放器显示电影。

我面临的问题是重复的条目,例如“捉鬼敢死队”(无法真正理解为什么,但这是导致问题的唯一原因)

这是文件系统的基本实现:

setMovies只需将 a 设置Contextmovies数组,readMoviesOnDisk如下所示:

searchMovie并且insertMovie仅与 IndexedDB 交互以存储电影信息以供离线使用。getMovieDetails对 TMDB 进行 API 调用以获取电影信息。

我用于显示电影的键是它们的 TMDB id。捉鬼敢死队的 id 是“620”。

谁能帮我?

0 投票
2 回答
128 浏览

javascript - How do I actually add Filesystem Access API to javascript?

I've found this https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API to allow javascript to access the local file system. I feel really dumb, but I can't find anywhere that talks about how to actually add the api. I would really appreciate some help on just getting the first step.

0 投票
2 回答
881 浏览

javascript - 访问给定文件夹中的所有文件(文件系统访问 API)

我可以使用文件系统访问 API ( https://web.dev/file-system-access/ ) 在网站中创建类似文件资源管理器的东西 (react)。

我打算做一个简单的在线文件浏览器,让你浏览打开一个文件夹,然后让你浏览文件夹,播放视频和 MP3。

(我知道几年前这是不可能的,因为 js 不可能访问本地存储中的任何内容,我只想知道是否有任何更改。如果文件系统访问 API 不是要走的路,您能否建议一些更好的方法来从文件夹中读取批量本地文件。)