html - 如何在节点js中获取文件路径并传递给数据库请求
问题描述
我使用 Node.js express + PostgreSQL
如何在 BD 查询中通过 Node.js 将路径传递到我的 CSV 文件?
我有一个 html 表单,它有文件输入,比如 -
<form method="post" action="import_csv" target="_blank" enctype="multipart/form-data" >
<p><input type="file" name="csv_file">
<input type="submit" value="submit"></p>
</form>
之后,我将此发布请求重定向到控制器(服务器)的以下方法。
app.post("/import_csv_file",urlencodedParser,function(req,res) {
var config = {
user:'postgres',
database:'mybd',
password: '1',
host:'localhost',
port:5432,
max:10,
idleTimeoutMillis: 30000
}
var pool = new pg.Pool(config)
pool.connect(function(err, client, done){
console.log("teacher")
if(err){
return console.error('error')
}
file_path = req.body.csv_file
console.log(file_path)
client.query("select * from import_csv($1,$2)",[log2,req.body.csv_file], function(err, result) {
done()
req.session.user2 = result
if (err){
res.end()
return console.error("error")
}
res.render('import_csv_file',{jour:result}})
})
})
我在这里得到的结果是 - undefined (console.log(req.body.csv_file))
如何将 CSV 文件的路径传递给数据库查询,以便一切正常
解决方案
谢谢大家的帮助 !
安装程序 multer 和 next
const path = require('path')
var multer = require('multer');
const upload = multer({ dest: '/tmp/' });
app.post("/import_csv_file",upload.any(),function(req,res) {
var config = {
user:'postgres',
database:'mybd',
password: '1',
host:'localhost',
port:5432,
max:10,
idleTimeoutMillis: 30000
}
var pool = new pg.Pool(config)
pool.connect(function(err, client, done){
console.log("teacher")
if(err){
return console.error('error')
}
console.log(req.body);
console.log(req.files);
const file = req.files[0];
console.log(file)
console.log(file.path)
client.query("select * from import_csv($1,$2)",[log2,file.path], function(err, result) {
done()
req.session.user2 = result
if (err){
res.end()
return console.error("error")
}
res.render('import_csv_file',{jour:result}})
})
})
和 html
<form method="post" action="inside_teacher_import_ocenka" target="_blank" enctype="multipart/form-data">
<p><input type="file" name="csv_ocenka">
<input type="submit" value="Отправить"></p>
</form>
推荐阅读
- scala - 使用 scala 关闭流口水 kiesession 时数据丢失
- vulkan - 为什么 Debug Utils Extension 需要交换链设备扩展?
- sql-server - 加入两个 CTE 需要很长时间,但纯临时表不需要
- java - 安装最新 SDK 后出现 ADB 错误
- php - PHP:如何解决这个调用视图方法的子数据模型数组
- r - rbind 两个表并用具有相同变量的值填充 NA 的行
- android - 发现多个文件具有独立于操作系统的路径“builddef.lst”(googlecode.mp4parser:isoparser:)
- wso2 - 为芭蕾舞女演员中央包获取更新时出错
- svg - SVG甜甜圈切片在悬停时改变颜色
- python - 如何展平多级/嵌套 JSON?