gpt4 book ai didi

javascript - 附加base64编码文件nodejs

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

我正在尝试发送带有附件的肥皂请求。除了我发送的附件始终为零字节之外,一切正常。肥皂服务器接受 Base64 编码的文件,我已经使用代码在 Java 中实现了这一点

OutputStream outputStream = new ByteArrayOutputStream()
outputStream.writeTo(fileOutputStream);
Base64.encode(outputStream.toByteArray())//argument passed to the function which sends this to the SOAP API

我想用 Node 复制相同的内容,但我无法这样做。下面是我用来实现此目的的函数。我正在从客户端读取一些文件并尝试将其发送到 SOAP API。代码中负责读取和追加数据的地方我已经标记了,剩下的仅供引用。

function createSoapEntryWithAtt(req,response){
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
let filesArr = []
for(objkeys in files){
filesArr.push(files[objkeys])
}
return Promise.all(filesArr.map(item => {
return new Promise((res,rej) => {
var oldpath = item.path;
var newpath = 'C:/user/' + item.name;
**var data = fs.readFileSync(oldpath).toString('base64');
let result = []
for (var i = 0; i < data.length; i += 2)// trying to create a 64bit byte array
result.push('0x' + data[i] + '' + data[i + 1])**

console.log(result)
if(data)
res({ [`${item.name}`]: result })
rej("Error occured")
})

})).then(data => {
let url = config.url
var credentials = {
AuthenticationInfo: {
userName: "user",
password: "passwd"
}
}
let args = {
Notes: "Testing From Node App",
}
let count = 0
for (index in data) {
if (count <= 3) {
**for(keys in data[index]){
//console.log(data[index][keys])
args[`Attachment${++count}_Name`] = keys
args[`Attachment${++count}_Data`] = data[index][keys]//Attaching the file read
}
}**
}
soap.createClient(url, function (err, client) {
client.addSoapHeader(credentials)

client.CreateWorkInfo(args, function (err, res) {
if (err) {
console.log("Error is ----->" + err)
} else {
console.log("Response is -----> " + res)
response.end();
}
})
})

})

});

}

最佳答案

请忽略这个问题......如果有人在这个问题上浪费时间,我们表示感谢和抱歉。该错误是我在行 args["Attachment${++count}_Name"] = keys
args["Attachment${++count}_Data"] = data[index][keys]
中的一个粗心错误。 。这里,当我增加两行中的计数时,存在不匹配,因为附件名称将为 1,然后在第二行中附件数据将为 02,因此该名称不包含任何数据。

关于javascript - 附加base64编码文件nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51289408/

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