微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将图像字符串添加到a使用nodeJS的zip文件

如何解决将图像字符串添加到a使用nodeJS的zip文件

好,所以我正在使用代理服务器来抓取一些图像,作为响应,我得到的是图像,它们是很长的字符串形式。目标是创建.zip文件,并将所有这些图像打包在其中。旁注-我无法使用代理发送content-type标头,因此我只能获得此图像字符串。 在将字符串转换JSZipnodebuffer之后,我尝试使用base64。为简单起见,这是一个仅使用一个图像而不是一个全部图像的示例。

// get image
let response = await this.callForMedia(img.url,true).catch(error => console.log(error));
                
const buffer = new Buffer(response.data);
// I kNow image type already,therefore + '.jpg' part
zip.addFile(img.category + '.jpg',buffer);
zip.generateAsync({
       type: 'nodebuffer'
 }).then((content) => {
 
        console.log(typeof content);
         fs.writeFile('images.zip',content,err => {

                        if (err) console.log('file system',err);
                        else console.log('done');
          });
 })
 .catch(err => {

        console.log('zipjs')
        console.log(err);
 });

尝试使用base64格式,也尝试使用adm-zip包并将缓冲区传递给它。 当我将缓冲区传递给JSZipadm-zip时,我将获得有效的.zip文件,该文件可以解压缩-问题是我获取的图像是JPG 2000图像,这意味着其自然扩展名是.j2k或.jp2。我的Ubuntu操作系统上的应用程序无法打开它,而用于将该格式转换为.jpg的在线工具发现该文件已损坏。 任何帮助都将受到欢迎。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。