我正在使用thecodingmachine/gotenberg将办公室文档转换为PDF文件(gotenberg正在使用unoconv):文档
我用javascript编写了以下代码(使用NodeJS库请求)将带有本地文件的请求发送给gotenberg:
function openFile(file, fullPath) {
return new Promise((resolve, reject) => {
const filePath = pathModule.join(fullPath, file);
var formData = {
files: fs.createReadStream(filePath),
};
request.post({url:"http://docker:3000/convert/office", formData: formData}, function(err, httpResponse, body) {
if (err) {
reject('Upload failed!');
}
else {
resolve(body);
}
});
});}当我向gotenberg发送一个带有英文名称的文件时,它是有效的。
但是,当我试图发送带有特殊字符(用希伯来文:בדיקה.docx编写)的文件名时,gotenberg失败并返回一个错误:
unoconv:非零出口代码:退出状态1
这可能是因为unoconv不支持带有希伯来文件名的文件。
有没有办法将文件的ReadStream中的文件名动态更改为temp.docx而不是בדיקה.docx,而无需在我的服务器上重命名文件?
谢谢
发布于 2018-12-29 16:50:33
您需要将formData对象更改为以下内容:
let formData = {
files: {
value: fs.createReadStream(filePath),
options: {
filename: 'test.docx'
}
}
};为我解决了这个问题:)
发布于 2022-07-13 16:29:26
const FormData =需要量(‘form -data’);const表单=新的FormData();
form.append('file',fs.createReadStream(filepath),{filename:'newname'});
https://stackoverflow.com/questions/53970855
复制相似问题