gpt4 book ai didi

node.js - 错误 : ENOENT when renaming file in node/express app

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:07 24 4
gpt4 key购买 nike

我正在尝试在我的 Node/快速应用程序中上传文件,但出现以下错误:

{ [Error: ENOENT, rename '/tmp/64124a9886fdb03f1faee159bc533776']
errno: 34,
code: 'ENOENT',
path: '/tmp/64124a9886fdb03f1faee159bc533776' }

/home/frankie/Projects/LP/routes/manager/deliverables.js:51
throw err;
^
Error: ENOENT, rename '/tmp/64124a9886fdb03f1faee159bc533776'

这是我的应用程序中的相关代码:

if (req.files.file.name !== '' && req.files.file.size !== 0) {
// this will move the uploaded file from the tmp folder to the uploads folder
fs.rename(req.files.file.path, app.get('loc') + "uploads/" + name + "-" + id + "/" + req.files.file.name, function (err) {
if (err) throw err;

当我检查/tmp 中的内容时,文件就在那里:

fiega@fiega:/tmp$ ll
total 56
drwxrwxrwt 12 root root 4096 Dec 12 11:33 ./
drwxr-xr-x 23 root root 4096 Sep 27 22:54 ../
-rw-rw-r-- 1 fiega fiega 903 Dec 12 11:33 13a26570f87297fd7f61785ef7d8772b

这就是我使用正文解析器的方式:

app.use(express.cookieParser());
app.use(express.bodyParser());
app.use(express.methodOverride());

有什么想法吗?我曾尝试更改我的整个应用程序的权限,但没有成功。

最佳答案

您是否检查过您使用的目标路径是否存在? (也许你的意思是 app.get('loc') + "/uploads/"...)

奇怪的是,当发生这种情况时(源文件存在而目标目录不存在),您收到的错误消息仅指向源文件...因此请检查这是否不是问题所在。

记得如果要将上传的文件移动到/a/b/c.txt/a/a/b 必须已经存在。

此外,如果您需要将文件移动到不同的分区,则必须使用类似 this 的命令。 , 否则你会得到一个 EXDEV 错误。

关于node.js - 错误 : ENOENT when renaming file in node/express app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552824/

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