因此,我收到一个 .xslx 文件,对其进行解析并获取第一列,将值转换为 DataMatrix 条形码图像,然后将其全部保存在 .zip 存档中:
const express = require('express')
const fileUpload = require('express-fileupload');
const xlsx = require('xlsx')
const bwipjs = require('bwip-js');
const admzip = require('adm-zip')
const app = express()
app.use(fileUpload());
app.post('/create', async (req, res) => {
if(req.files.sampleFile) {
var file = xlsx.read(req.files.sampleFile.data)
var worksheet = file.Sheets[file.SheetNames[0]]
var counter = 1
var zip = new admzip()
for(let z in worksheet) {
if(z.toString()[0] == "A") {
bwipjs.toBuffer({
bcid: 'datamatrix', // Barcode type
text: worksheet[z].v, // Text to encode
scale: 3, // 3x scaling factor
padding: 10,
textxalign: 'center', // Always good to set this
backgroundcolor: 'ffffff'
}, (err, png) => {
if(err) {
console.log(err)
} else {
zip.addFile(`barcode${counter}.png`, png, "", 0400)
counter++
}
})
}
}
console.log('done zipping')
zip.writeZip(__dirname + 'stickers.zip')
res.send('Check fs and console')
} else {
res.send("no sample file")
}
app.listen(3000, () => {
console.log("Armed and ready on port 3000. Address: http://127.0.0.1:3000/")
})
因此,在我尝试保存 .zip 文件之前,一切正常。我只是什么都得不到。没有错误消息,没有文件,什么都没有。
如果什么都没有抛出错误,那有什么问题?
编辑:.xlsx 文件包含超过 600 多个条目