Node.js Node js:使用Node Cisco Spark客户端发送多个附件
我使用节点Cisco Spark Client()发送带有任何附件的邮件。 我可以发送1个附件,但不是很多 这是我的代码: 你能帮我吗Node.js Node js:使用Node Cisco Spark客户端发送多个附件,node.js,cisco,Node.js,Cisco,我使用节点Cisco Spark Client()发送带有任何附件的邮件。 我可以发送1个附件,但不是很多 这是我的代码: 你能帮我吗 function postMessage(roomId,message,nbfichiers) { return new Promise(function (fulfill, reject){ var messageParams = {} var sanitizedMessage = '>'+message.replace(/\n/g
function postMessage(roomId,message,nbfichiers) {
return new Promise(function (fulfill, reject){
var messageParams = {}
var sanitizedMessage = '>'+message.replace(/\n/g,"<br>")
if (nbfichiers.length > 0){
console.log("Nombres de pièces jointes : " + nbfichiers.length);
for(var b=0; b < nbfichiers.length; b++){
messageParams.file = fs.readFileSync('uploads/'+nbfichiers[b]+'');
messageParams.filename = nbfichiers[b];
messageParams.markdown = true
sparkClient.createMessage(roomId,sanitizedMessage,messageParams,function(err,message){
if (err) {
reject(err)
}
else {
fulfill(message)
}
});
fs.unlinkSync('uploads/'+nbfichiers[b]);
}
}
})
}
函数postMessage(roomId、message、nbficheers){
返回新承诺(功能(履行、拒绝){
var messageParams={}
var sanitizedMessage='>'+message.replace(/\n/g,“
”)
如果(nbficheers.length>0){
console.log(“Nombres de pièces jointes:+nbficheers.length”);
对于(var b=0;b
通过在新承诺(…)
中使用循环,当您使用承诺时,只会得到第一次迭代的结果,这真的是您期望的行为吗
根据,您一次只能发送一个附件。您可以使用Promise发送多个附件。所有都可以通过以下方式发送:
function postAttachment(roomId, message, file) {
return new Promise(function (fullfill, reject){
var messageParams = {}
var sanitizedMessage = '>'+message.replace(/\n/g,"<br>")
messageParams.file = fs.readFileSync('uploads/'+file);
messageParams.filename = file;
messageParams.markdown = true
sparkClient.createMessage(roomId, sanitizedMessage, messageParams, function(err,message){
if (err) {
reject(err)
}
else {
fs.unlinkSync('uploads/'+ file);
fullfill(message)
}
});
})
}
function postAttachments(roomId, message, files) {
return Promise.all(files.map(file => postAttachment(roomId, message, file));
}
函数后附加(roomId、消息、文件){
返回新承诺(功能(完全填充、拒绝){
var messageParams={}
var sanitizedMessage='>'+message.replace(/\n/g,“
”)
messageParams.file=fs.readFileSync('uploads/'+file);
messageParams.filename=文件;
messageParams.markdown=true
sparkClient.createMessage(roomId、sanitizedMessage、messageParams、函数(err、message){
如果(错误){
拒绝(错误)
}
否则{
fs.unlinkSync('uploads/'+文件);
完全填充(消息)
}
});
})
}
功能邮递附件(roomId、邮件、文件){
返回Promise.all(files.map(file=>postAttachment(roomId、message、file));
}
如果只想发送一个附件和所有文件,则可以在发送之前合并文件