首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过formidable上传表单

通过formidable上传表单
EN

Stack Overflow用户
提问于 2014-09-03 23:39:44
回答 1查看 330关注 0票数 0

我在服务器上收到以下文件

代码语言:javascript
复制
{"file":{"size":6818,"path":"/tmp/a451340156a9986cd9d208678bdc40cf","name":"test.pdf","type":"application/pdf","mtime":"2014-09-03T15:26:25.733Z"}}

我有如下文件上载处理:

代码语言:javascript
复制
var form = new formidable.IncomingForm();
        form.parse(req, function(err, fields, files) {
        console.log(JSON.stringify(files));

            // `file` is the name of the <input> field of type `file`
            var old_path = files.file.path,
            file_size = files.file.size,
            file_ext = files.file.name.split('.').pop(),
            index = old_path.lastIndexOf('/') + 1,
            file_name = old_path.substr(index),
            new_path = path.join(process.env.PWD, '/uploads/', file_name + '.' + file_ext);
            fs.readFile(old_path, function(err, data) {
                fs.writeFile(new_path, data, function(err) {
                    fs.unlink(old_path, function(err) {
                        if (err) {
                            res.status(500);
                            res.json({'success': false});
                        } else {
                            res.status(200);
                            res.json({'success': true});
                        }
                    });
                });
            });
        });

这给出了200ok,但文件没有上传到所需的目录,即上传/

代码语言:javascript
复制
new_path is returned as /home/abc/myapp/uploads/0bc49fa19d15fb5bdf779c02d3cbc1d5.pdf

however it should just be /uploads/test.pdf
EN

回答 1

Stack Overflow用户

发布于 2014-09-04 11:41:52

是路径还是文件名导致了问题?

首先,我会使用rename函数来简化代码。它看起来就像这样。

代码语言:javascript
复制
var newFilePath = path.join(process.env.PWD, 'uploads', files.file.name);
fs.rename(files.file.path,newFilePath,function(err){
  if(err){
     //handle error
  }
  res.json({success: 'true'});

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25648458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档