gpt4 book ai didi

javascript - node.js 错误 : EISDIR, 打开

转载 作者:搜寻专家 更新时间:2023-10-31 23:42:08 26 4
gpt4 key购买 nike

我尝试上传文件并移动到已存在的新目录。关注Writing files in Node.js但我得到了错误:错误:EISDIR,打开“/Users/name/Sites/project/app/assets/images/UploadTemporary/”
错误时( native )

然后我找到了Using Node.js I get, "Error: EISDIR, read"Node.js Error: EISDIR, open Error类似的错误消息,我的 UploadTemporary 文件夹已经存在,我搞错了吗?我不明白,如果它不是目录,那还能是什么?

var multipart = require('connect-multiparty');
var fs = require('fs');
var path = require('path');
var appDir = path.dirname(require.main.filename);

...
var sourceFile = req.files.file[0].path;
var destinationFile = appDir + '/assets/images/UploadTemporary/';

var source = fs.createReadStream(sourceFile);
var destination = fs.createWriteStream(destinationFile);

source.pipe(destination);
source.on('end', function () {
fs.unlinkSync(sourceFile);
});

最佳答案

当您将文件写入特定目录时,您还需要提供实际的目标文件名。与 cp 命令不同,fs 模块不会推断目标文件名。

在您的例子中,您正在尝试写入一个目录,而不是一个文件。这就是您收到 EISDIR 错误的原因。要解决这个问题,正如您在评论中提到的,

var destinationFile = appDir + '/assets/images/UploadTemporary/' + newfilename;

还包括文件名。

关于javascript - node.js 错误 : EISDIR, 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31935385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com