Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件夹的node.js流文件上载结构_Node.js_File Upload_Express_Stream - Fatal编程技术网

文件夹的node.js流文件上载结构

文件夹的node.js流文件上载结构,node.js,file-upload,express,stream,Node.js,File Upload,Express,Stream,我正在使用node和express为我的站点做一点CMS。 我想使用一个表单放置多个文件,并将这些文件存储到public/image/:foldername中 我创建了一个表单,它有两个输入: 1.event——哪一个是事件名称 2.file——以直观方式输入的文件 现在,当管理员登录并看到此表单时,他正在键入自己的事件名称,例如“ “生日” 以及与之关联的图像文件 最后,我希望结构是这样的: 公开的/ /形象 /生日 图1 图2 图3 图4 以下是HTML: <div class="pa

我正在使用node和express为我的站点做一点CMS。 我想使用一个表单放置多个文件,并将这些文件存储到public/image/:foldername中

我创建了一个表单,它有两个输入: 1.event——哪一个是事件名称 2.file——以直观方式输入的文件

现在,当管理员登录并看到此表单时,他正在键入自己的事件名称,例如“ “生日” 以及与之关联的图像文件

最后,我希望结构是这样的: 公开的/ /形象 /生日 图1 图2 图3 图4

以下是HTML:

<div class="panel panel-primary spacer3">
    <div class="row">
        {{#if error}}
        <div data-alert class="alert-box">
           {{error}}
            <a href="#" class="close">&times;</a>
        </div>
        {{/if}}
        <div class="small-4 medium-4 large-4 columns text-center">
            <h1>פאנל ניהול</h1>
        </div>
        <form method="POST" action="/login">
            <div class="row">
                <div class="large-12 columns rtl">
                  <label>שם משתמש</label>
                  <input type="text" name="username" placeholder="שם משתמש" />
                </div>
            </div>
            <div class="row">
                <div class="large-12 columns rtl">
                  <label>סיסמא</label>
                  <input type="password" name="password" placeholder="סיסמא" />
                </div>
            </div>
            <div class="row">
                <div class="large-12 columns">
                  <input class="button [radius round]" type="submit" value="התחבר" />
                </div>
            </div>
        </form>
    </div>
</div>
readstream和writestream不工作,我不知道如何创建此结构。

应该是

<form method="POST" action="/login" enctype="multipart/form-data">
应该是

var file = fs.createReadStream(req.files.formName.path);
formName在哪里

<input type='file' name='formName' />

以下是iv所做的: 从npm安装的mkdirp mkdirp=require('mkdirp'); 这将创建一个新文件夹

readFile将读取这些图像

exports.photos = function(req, res){
    console.log(req.body);
    console.log(req.files)
    console.log(req.files.img_file);

    console.log("Uploading File");

    fs.readFile(req.files.img_file.path, function (err, data) {

      var newPath = __dirname + "./public/img/albums";
      fs.writeFile(newPath, data, function (err) {
        res.redirect("back");
      });
    });

};

//Post request to create new album
exports.createAlbum = function(req, res){
    if (req.body && req.body.album)
        var album_name = req.body.album;
    else
        var album_name = 'unknown_album-' + (parseInt(Math.random() * 5) + 1);

    console.log(__dirname);
    mkdirp('./public/img/albums/' + album_name, function (err) {
        if (err) 
            console.error(err);
        else 
        {
            console.log('Folder created.');
            res.render('admin/panel', {
                title: 'אדמין',
                message: 'תיקייה נפתחה בהצלחה',
                album: album_name
            });
        }
    });
};
<input type='file' name='formName' />
exports.photos = function(req, res){
    console.log(req.body);
    console.log(req.files)
    console.log(req.files.img_file);

    console.log("Uploading File");

    fs.readFile(req.files.img_file.path, function (err, data) {

      var newPath = __dirname + "./public/img/albums";
      fs.writeFile(newPath, data, function (err) {
        res.redirect("back");
      });
    });

};

//Post request to create new album
exports.createAlbum = function(req, res){
    if (req.body && req.body.album)
        var album_name = req.body.album;
    else
        var album_name = 'unknown_album-' + (parseInt(Math.random() * 5) + 1);

    console.log(__dirname);
    mkdirp('./public/img/albums/' + album_name, function (err) {
        if (err) 
            console.error(err);
        else 
        {
            console.log('Folder created.');
            res.render('admin/panel', {
                title: 'אדמין',
                message: 'תיקייה נפתחה בהצלחה',
                album: album_name
            });
        }
    });
};