压缩图像和HTML文件正常工作,但添加用于CSS的字体文件时,字体文件大小为1kb且无法打开。
我尝试仅压缩字体,没有其他文件,但仍然存在相同的问题。
我尝试仅压缩字体,没有其他文件,但仍然存在相同的问题。
let zip = new JSZip()
let imageURLCount = 0
let fontFileCount = 0
let imageURLs = [
'http:site.com/image1.jpg',
'http:site.com/image2.jpg',
'http:site.com/image3.jpg',
'http:site.com/image4.jpg'
]
let fontFiles = [
'http:site.com/fontFile1.ttf',
'http:site.com/fontFile2.ttf',
'http:site.com/fontFile3.ttf',
'http:site.com/fontFile4.ttf'
]
// zip images
imageURLs.forEach((url, i) => {
JSZipUtils.getBinaryContent(url, (error, data) => {
if (error) {
throw error
}
// zip file name
imageFileName = 'image_'+i+'.jpg'
// create images folder
zip.folder('images')
.file(imageFileName, data,{binary: true})
imageURLCount++
if (imageURLCount === imageURLs.length) {
zipComplete(imageURLCount,fontFileCount)
}
})
}) // end imageURLs[] forEach
// zip font files
fontFiles.forEach((fontFile, i) => {
JSZipUtils.getBinaryContent(fontFile, (error, data) => {
if (error) {
throw error
}
// zip file name
fileName = 'font_'+i+'.ttf'
zip.file(fileName, data, {binary:true})
fontFileCount++
if (fontFileCount === fontFiles.length) {
zipComplete(imageURLCount,fontFileCount)
}
})
}) // end fontFiles[] forEach
// PS: zipComplete(imageURLCount,fontFileCount) checks if both arrays looped to the end and then trigger the 'file-saver' SaveAs()
我该如何压缩字体?使用JSZip可以吗?
data
中真的包含了字体二进制数据而非其他内容吗?比如,在 URL 无效或出现 404 错误页面的情况下,它是否包含了错误页的 HTML 内容? - Patrick EvansimageURLs.forEach((url, i) => {})
中,zip 没有被构建。你的示例代码是否缺失了一些内容? - BlueWater86ArrayBuffer(97344) {} [[Int8Array]]: Int8Array(97344) [79, 84, 84, 79, …] [[Int16Array]]: Int16Array(48672) [21583, 20308, …] [[Int32Array]]: Int32Array(24336) [1330926671, -2147480320, 2157312, …] [[Uint8Array]]: Uint8Array(97344) [79, 84, …] byteLength: (...)
- hatchDev