我需要将其转换回pdf并保存在文件夹中。 到目前为止,这是我尝试过的,但没有任何效果:
仅将Blob保存到文件(失败)
const mysql = require('mysql');
const fs = require('fs');
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "SQL1234",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
const sql = 'SELECT * FROM documents WHERE idnum = 29347';
con.query(sql, function (err, result, fields) {
if (err) throw err;
const row = result[0];
const pdf = row.pdf;
fs.writeFileSync('some.pdf', pdf);
});
});
然后将其转换为字符串base64并使用软件包base64topdf
const base64 = require('base64topdf');
var bufferBase64 = pdf.toString('base64');
let decodedBase64 = base64.base64Decode(bufferBase64, 'finalpdf.pdf');
另一个失败的尝试:
let buffer = Buffer.from(row.pdf);
fs.writeFile('file.pdf', buffer, 'binary', function(err) {
if(err) {
console.log(err);
}else{
console.log('file saved');
fs.readFile('test.pdf', (err, data) => {
res.contentType("application/pdf");
res.send(data);//
});
}
});
const toBuffer = require('blob-to-buffer');
var blob = b64toBlob(row.pdf, 'application/pdf');
toBuffer(blob, function (err, buffer) {
if (err) throw err
buffer[0] // => 1
buffer.readUInt8(1) // => 2
let decodedBase64 = base64.base64Decode(buffer, 'myfile2.pdf');
});
我知道我在做一些愚蠢的事情,就是我已经发布了Blob的屏幕截图,所以您知道我拥有什么样的数据。 任何帮助将不胜感激。