繁体   English   中英

如何仅对文本文件使用拖放和 multer 并将它们存储在 sqlite 数据库中

[英]How can I use drag and drop and multer only for text files and store them in a sqlite db

我正在使用节点 js 制作一个 web 应用程序,我需要通过与 HTML 中的输入按钮配合使用的 multer 上传不同的文本文件。 我所拥有的是一个拖放字段,也可以单击它,让您可以选择文件。 在 Html 下是我使用 multer 和 SQLite DB 的服务器代码。 现在这不起作用,我如何将我的 HTML 与服务器连接,或者我应该在我的前端 js 中执行此操作。 我希望得到的最终结果是将文本文件上传到一个文件夹中,并将它们的 id 存储在我的 SQLite db 文件中。 这是我的 HTML 和服务器代码

    <link rel = "stylesheet" href="/public/stylesheets/style.css">
</head>
<body>
<div class="drop-zone">
    <form action="/files" method="post"
          enctype="multipart/form-data"></form>
    <span class="drop-zone__prompt">Drop file here or click to upload</span>
    <input type="file" name="myFile" class="drop-zone__input">

</div>
<div class = "submit-button">

<input  name="files" type="submit" value="Submit" />
</div> 

const db_name = path.join(__dirname, "db", "Database.db");
const db = new sqlite3.Database(db_name, err => {
    if (err) {return console.error(err.message);}
    console.log("Successful connection to the database 'fileData.db'");
});

--------------------------------------------------------------------
const fileStorageEngine = multer.diskStorage({
     destination: (req,file , cb) =>{
         cb(null,db);
     },
    filename: (req,file,cb)=>{
         cb(null, file.orignalname);
    },
});
const upload = multer({storage:fileStorageEngine});

application.post('/files',upload.array("files",4),(req , res)=>{
    console.log(req.files);
    res.send("Files successfully uploaded")
});

请给文件输入类型命名为“文件”并尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM