gpt4 book ai didi

node.js - 以哪种格式发送文件以将其保存在 gridfs 上?

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:39 26 4
gpt4 key购买 nike

大家好,

请问,我正在研究一个使用nodeJS的项目,我想知道,我的 Node 客户端必须以哪种格式将文件发送到服务器(是base64格式还是其他格式?)。

我的客户是:

//client.js

$('#file').on('change', function(e){
encode64(this);
});

function encode64(input) {
if (input.files){
chap.emit('test', { "test" : input.files[0] });
var FR= new FileReader();
FR.readAsDataURL(input.files[0]);
FR.onload = function(e) {
chap.emit('test', { "test" : e.target.result } );
}
}
}

我的服务器端是:

 socket.on('test', function(e){
var gs = new gridStore(db, e.test,"w");
gs.writeFile(new Buffer(e.test,"base64"), function(err,calb){
if (!err)
console.log('bien passe');
else
console.log('erreur');
});
});

但这不起作用,我收到此错误:

TypeError: Bad argument
at Object.fs.fstat (fs.js:667:11)

有人可以帮助我吗?

最佳答案

通常这是您存储到 gridFs 中的方式。我用它来存储文件。希望它能起作用。

    fs = require('fs'),
var gfs = require('gridfs-stream');
var form = new multiparty.Form();

form.parse(req, function (err, fields, files) {
var file = files.file[0];
var filename = file.originalFilename; //filename
var contentType = file.headers['content-type'];
console.log(files)
var tmpPath = file.path ;// temporary path
var writestream = gfs.createWriteStream({filename: fileName});
// open a stream to the temporary file created by Express...
fs.createReadStream(tmpPath)
// and pipe it to gfs
.pipe(writestream);
writestream.on('close', function (file) {
// do something with `file`

res.send(value);
});
})

关于node.js - 以哪种格式发送文件以将其保存在 gridfs 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649935/

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