问题标签 [fs]
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.
http - nodejs读取图像标题
我正在编写一个脚本来从列表中的 url 下载文件。我遇到的问题是 url 不仅仅指向静态文件,例如file.jpg
,它们往往指向返回文件的 servlet。
我想要做的是下载每个 url 的文件并用通用名称保存它,然后读取它的标题并用适当的扩展名重命名它。(除非有更好的方法)
我怎么能那样做?
我试过使用 mime-magic,但它告诉我无扩展名的文件是目录。
node.js - 异步和同步读取的不同结果
我有一个相当简单的脚本,它尝试读取然后解析 JSON 文件。JSON 非常简单,我很确定它是有效的。
现在,我一直在尝试用fs.readFile
. 读取时不会发生错误,并且返回的数据是字符串。唯一的问题是字符串为空。
我重复了我的代码但使用fs.readFileSync
了,这使用相同的路径完美地返回了文件。两者都utf-8
指定了编码。
如您所见,这是非常简单的代码。
可能是权限还是所有权?我尝试了一组权限755
,777
但无济于事。
我正在运行节点 v0.4.10。任何可以为我指明正确方向的建议将不胜感激。谢谢。
编辑:这是我的实际代码块。希望这会给你一个更好的主意。
http - 通过 http 发送 jpg 的问题 - node.js
我正在尝试编写一个简单的 http Web 服务器,它(以及其他功能)可以向客户端发送请求的文件。
发送一个常规的文本文件/html 文件是一种魅力。问题在于发送图像文件。
这是我的代码的一部分(在解析 MIME TYPE 并包括 fs node.js 模块之后):
为什么我得到的只是一个空白页,打开后http://localhost:<serverPort>/test.jpg
?
node.js - 如何在 node.js 中不使用 http 模块发送 http 响应?
我需要在 node.js 中实现一个 HTTP 服务器而不使用 http 模块。多么有趣!我在发送响应套接字时遇到问题。
我正在尝试获取文件,因此我的代码如下所示:
我错过了什么?
我当然也在使用 net 模块来获取套接字和 fs。
node.js - 如何在 Node.js 中使用 chmod
如何在 Node.js 中使用 chmod?
package 中有一个方法fs
应该这样做,但我不知道它作为第二个参数需要什么。
fs.chmod(路径,模式,[回调])
异步 chmod(2)。除了可能的异常之外,没有为完成回调提供任何参数。
fs.chmodSync(路径,模式)
同步 chmod(2)。
(来自Node.js 文档)
如果我做类似的事情
没有任何反应(文件未更改为该模式)。
也不行。
顺便说一句,我正在使用 Windows 机器。
javascript - NodeJS fs.open 在现有文件上失败(不是路径问题)
我已经处理这个问题很长时间了,所以非常感谢任何帮助。所以,我正在下载一个文件并使用 PhantomJS 和 CasperJS 保存它。让我指出他们不是问题所在。文件下载没有问题。
问题是 NodeJS 在下载后无法识别或打开文件。我不能 fs.stat、fs.open 等。没有任何效果。
我将在一秒钟内分享代码,但这里是日志:
如您所见,我打印出创建的文件名,然后打印目录的内容,然后尝试打开文件。如您所见,bdTcK6hSdownload.csv 存在于目录中,但打开时失败。
简单的代码片段在这里:
在此之前和之后还有很多事情要做,但这些都不重要,因为这个基本功能失败了。请帮忙!这已经唠叨了好几个星期了。
javascript - nodejs将原始图像数据写入jpeg文件?
我正在从获取请求中获取数据。数据(在响应的正文中)看起来像这样:
响应标头如下所示:
我想获取作为我的图像数据的正文内容并将其保存到name.jpeg
服务器上的文件中。
我怎样才能做到这一点?我尝试将缓冲区与fs
模块结合使用,但我有点迷失了。
谢谢
node.js - 如何在 node.js 中跟踪(更改)日志文件
好的,这似乎是一个简单的问题,但我无法从这里找到答案,所以我发布它,希望有人可能遇到过类似的问题。
我需要监视一个指向 Web 服务器文件的符号链接(/var/log/lighttpd/error.log
更具体地说,感谢Linus G Thiel ,我想出了如何遵循符号链接)。我知道我可以设置fs.fileWatch
为监视它,但我还应该指出,error.log
文件也在特定时间轮换,具体取决于日志守护程序设置。发生这种情况时,fs.fileWatch
停止工作。我也知道我可以生成一个子进程并运行
from node 来解决日志轮换带来的问题,但我更喜欢使用原生 node 函数。任何人都可以对此有所了解吗?
[ 编辑 ]
即使日志文件被轮换,实际上监控实际日志文件也没有任何问题。该问题实际上是由符号链接引起的。我监视符号链接的原因是因为当大小达到一定限制时实际的日志文件名会发生变化。/var/log/lighttpd/error.log
仅作为示例给出。我无法控制日志文件的重命名方式,但我确实有一个 crontab,它每分钟更新一次符号链接,更新符号链接。
[ 编辑 2/28/2012 ]
实际上我正在使用以下方法(通过spawn)
在我正在处理的日志监控项目中,因为它的工作非常可靠,尽管它不如 watchFile() 高效。
node.js - 在nodejs中异步读取和缓存多个文件
我有一个数组,可以保存多个文件的 URL。例如:
我需要异步读取它们并将它们保存在名为缓存(缓存 = {})的对象中。为此,我使用了以下代码:
最后我得到了结果:
我确实理解“readFile”在循环结束后起作用并且它失去了它的范围。有没有办法修复这个或另一种方法来从数组中读取文件并缓存它们?
node.js - 删除nodejs脏数据库文件
我在删除由 NodeJS Dirty存储扩展创建的 db 文件时遇到问题。据我所知,Dirty 没有提供删除 db 文件的方法,所以我必须手动执行此操作。
我已经尝试过fs.unlink()并且它可以正确执行,但是在我终止节点服务器之前不会删除文件,这(我认为)意味着 Dirty 仍然持有文件句柄。问题是我也无法从 Dirty 获取文件句柄,因为它使用不返回文件句柄的createReadStream和createWriteStream方法。
有什么方法可以删除 Dirty 生成的 db 文件,例如,当客户端与服务器断开连接时?