标签: jszip

使用JSzip时未定义saveAs

我在尝试做一个简单的jszip时遇到错误

未捕获(承诺)ReferenceError:未定义saveAs

很确定我收录了所有正确的文件,所以我不确定我做错了什么,有人可以赐教吗?

    <!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Download</title>
    <link rel="stylesheet" href="css/download.css">
    <script type="text/javascript" src="jszip/dist/jszip.js"></script>
    <script type="text/javascript" src="https://stuk.github.io/jszip-utils/dist/jszip-utils.js"></script>
    <script src='https://code.jquery.com/jquery-2.2.4.min.js'></script>
    <script src="js/download.js"></script>
    <link href="https://fonts.googleapis.com/css?family=Josefin+Sans" rel="stylesheet">
  </head>

  <body>
  <div class="maindiv"> 
    <header>
      <a href="index.html" class="company">Instasample</a>
      <a href="login" class="login">Login</a>
    </header>
    <div class="soulection">
    <button id="kick" onclick="download(this.id)" >kick</button>
    <button id="snare" onclick="download(this.id)" >snare</button>
    <button id="hat" onclick="download(this.id)" >hat</button>
    <button id="open hat" onclick="download(this.id)" >open hat</button>
    <button id="rim" onclick="download(this.id)" >rim</button>
    <button id="perc" onclick="download(this.id)" >perc</button>
    <button id="tom" onclick="download(this.id)" >tom</button> 
    <button id="clap" onclick="download(this.id)" >clap</button>
    <button id="foley" onclick="download(this.id)" >foley</button>
    <button id="ambient" …
Run Code Online (Sandbox Code Playgroud)

html javascript jszip

13
推荐指数
2
解决办法
2万
查看次数

使用FileReader和JSZip.js在浏览器中打开zip文件

我正在尝试使用FileReader和JSZip.js在浏览器中打开zip文件,然后处理其中包含的文件.我无法弄清楚如何正确地将FileReader对象传递给JSZip.

这是我用来加载javascript的页面的剥离版本:

<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8" />

<script type="text/javascript" src="zipscan.js"></script>
<script type="text/javascript" src="jszip.js"></script>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>

</head>
<body>

<div id="openFile"><input type="file" id="inputFile" /></div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

删除所有不必要的代码后,zipscan.js中的javascript:

function checkFiles()
{ 
    //Check support for the File API support 
    if ( window.File && window.FileReader && window.FileList && window.Blob )
    {
        var fileSelected = document.getElementById( "inputFile" );
        fileSelected.addEventListener( "change", handleFile, false );
    } 
    else
    { 
        alert( "Files are not supported" ); 
    } 
}


function handleFile( evt )
{
    //Set wanted file object …
Run Code Online (Sandbox Code Playgroud)

javascript filereader jszip

12
推荐指数
1
解决办法
9302
查看次数

在Angular 2项目中导入JSZip

我在Angular 2项目中导入JSZip库时遇到了麻烦.我按照以下步骤更改项目配置:

1 - 使用NPM安装JSZip

npm install jszip --save
Run Code Online (Sandbox Code Playgroud)

2 - 按如下方式更改systemjs.config.js

var map = {
    ...
    'jszip':                      'node_modules/jszip/dist/jszip.min.js'
};
Run Code Online (Sandbox Code Playgroud)

3 - 在需要它的组件中导入依赖项

import JSZip from 'jszip';
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用主JSZip构造函数来附加一些文件,但我收到一个Web错误,指出构造函数未定义.此外,我使用的Typescript编辑器无法找到它的定义.

我错过了什么?

谢谢.

typescript jszip angular

12
推荐指数
1
解决办法
1万
查看次数

在javascript中使用JSZIP提取压缩文件

在我的网页中,用户应该上传压缩文件.在压缩文件中有2个文件:另一个zip文件和一个txt文件.在我的服务器上,收到zip后,我想解压缩zip文件以解压zip&txt文件,然后将这2个文件移动到预定义的文件夹中.我有一段代码提取zip文件,但数据似乎不正确.首先,当只有1个txt文件时,它解压缩了一个zip和2个txt文件.它创建了一个额外的"未定义"txt文件.此外,在我的txt文件中,它替换为原始数据,而是替换为以下文本:'[undefined] [undefined]'.
谁可以帮我这个事?以下是我的代码:

var JSZip = require('JSZip');

fs.readFile( filePath, function(err, data){
  if (!err){
    var zip = new JSZip();
    JSZip.loadAsync(data).then(function(zip){
      object.keys(zip.files).forEach(function(filename){
        var content = zip.files[filename];
        var dest = path + filename;
        fs.writeFileSync(dest, content);
      });
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript unzip jszip

8
推荐指数
2
解决办法
2万
查看次数

什么是Google Chrome的"Uncommon Download"警告基于?

我知道Chrome的"Uncommon Download"警告大致基于下载的常见程度,但具体条件是什么?

测量"共性"还是启发式?(例如,"zip文件总是被认为不常见")

如果测量,它是基于域,协议(例如http或dataurl),还是完整的特定URL?

很明显,文件或内容类型就是其中之一.在同一个网站上,我看到一个zip文件会触发警告,而PNG或JPG则不会.有没有办法让它不会触发通过JSZip创建和保存的zip文件?

security google-chrome download jszip

7
推荐指数
0
解决办法
2237
查看次数

使用jsZip将图像从url添加到zip文件

我正在尝试使用jsZip创建一个zip文件.zip文件的内容是来自网络的图像.我创建了以下代码.但是当我运行它时,我得到的是一个22kb的空zip文件.

<html>
<head>
</head>
<body>    
<script type="text/javascript" src="jszip.js"></script>
<script type="text/javascript" src="FileSaver.js"></script>
<script type="text/javascript" src="jszip-utils.min.js"></script>   
<script>
var imgLinks=["url1", "url2", "url3"];    
function create_zip()
{
var zip=new JSZip();
for(var i=0; i<imgLinks.length; i++)
{ 
JSZipUtils.getBinaryContent(imgLinks[i], function (err, data) {
    if(err) {
      alert("Problem happened when download img: " + imgLink[i]);
      console.erro("Problem happened when download img: " + imgLink[i]);
      deferred.resolve(zip); // ignore this error: just logging
      // deferred.reject(zip); // or we may fail the download
    } else {
      zip.file("picture"+i+".jpg", data, {binary:true});
      deferred.resolve(zip);
    }
 });          
    }     
var …
Run Code Online (Sandbox Code Playgroud)

javascript jszip

6
推荐指数
1
解决办法
6333
查看次数

Node.js jszip库提取

我正在编写一些节点代码,并使用jszip压缩和解压缩一些文件.我知道如何压缩,但无法弄清楚如何解压缩或解压缩.stackoverflow上有几个链接不起作用.有人有任何解决方案?以下是我的尝试

var fs = require('fs');
var JSZip   = require('jszip');
var zipName = "C:/test.zip";
var unzip = "C:/unzip";


fs.readFile(zipName, function (err, data) {
    if (err) throw err;
    var zip = new JSZip();
    zip.folder(unzip).load(data);
});
Run Code Online (Sandbox Code Playgroud)

zip unzip node.js jszip

6
推荐指数
1
解决办法
2641
查看次数

为什么使用JSZip压缩率是0

我使用以下代码将可下载的xml文件转换为zip,但文件大小仍然相同,压缩率显示为0%

    var xmlcontent = "<?xml version='1.0' encoding='UTF-8'?><Body>";
    xmlcontent += json2xml(data);
    xmlcontent += "</Body>";

    var zip = new JSZip();
    zip.file("test1.xml", xmlcontent);
    zip.generateAsync({ type: "blob" })
    .then(function (content) {

        var a = document.createElement("a");
        document.body.appendChild(a);
        a.style = "display: none";
        var url = window.URL.createObjectURL(content);
        a.href = url;
        a.download = "test.zip";
        a.click();
        window.URL.revokeObjectURL(url);

    });
Run Code Online (Sandbox Code Playgroud)

压缩的原因是为了减少客户端检索到的文件的大小,但显然对它没有影响。请提出一种减小文件大小的方法。

javascript xml compression jszip

6
推荐指数
1
解决办法
783
查看次数

如何使用 JSZip 使用 Node.js 中的缓冲区内容生成 zip 文件?

我有一个字符串数组,应将其写入 .txt 文件。另外,我需要使用 JSZip 将生成的 .txt 文件压缩为 .zip 格式。在客户端,我能够使用该字符串数组生成“文本/纯文本”Blob,然后使用 JSZip 将此 Blob 压缩为 .zip 格式。我需要使用 Node.js 在服务器端执行相同的操作,但我意识到 Blob 在 Node.js 中不可用。我尝试使用“Buffer”而不是 Blob,并且得到了一个压缩为 .zip 的二进制文件;我是node.js的初学者,无法理解Buffer的概念。我可以在 Node.js 中创建 Blob 吗?或者我可以使用 node.js Buffer 执行相同的操作吗?

在客户端,我可以从 Blob 内容生成 zip 文件,如下所示,

//stringsArray is an array of strings
var blob = new Blob( stringsArray, { type: "text/plain" } );

var zip = new JSZip();
zip.file( 'file.txt' , blob );

zip.generateAsync( { type: 'blob', compression: 'DEFLATE' } )
.then( function( zipFile ){ 

    //do something with zipFile 

}, …
Run Code Online (Sandbox Code Playgroud)

javascript zip node.js jszip

6
推荐指数
1
解决办法
2万
查看次数

Chrome HTML5 FileReader 尝试读取大文件时崩溃

我有一个表单,允许用户选择要上传的 zip 文件。我试图在将这个 zip 文件上传到我的服务器之前对其进行客户端验证,因为上传可能需要一段时间,而且我还想节省带宽。

我需要做的就是读取 zip 中应包含的 .csv 文件,并验证 zip 中是否存在 .csv 引用的其他文件。为了实现这一目标,我尝试使用JSZip

如果存档很小,这效果很好。如果存档很大(使用约 500MB 文件进行测试),则 Chrome 会崩溃。

var  reader = new FileReader();
reader.onload = function (e) {
  console.log("Got here!");
  // Read csv using JSZip, validate zip contents
};
reader.readAsArrayBuffer(file);
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我注释掉了 onload 回调中的所有逻辑,并验证这些逻辑都不会导致崩溃。我发现 Chrome 在调用 onload 回调之前就崩溃了。

我已经在 FireFox 中用更大的 zip 文件对此进行了测试,效果很好。

html javascript google-chrome filereader jszip

5
推荐指数
1
解决办法
4930
查看次数