【发布时间】:2015-07-08 16:54:05
【问题描述】:
我正在尝试使用 fileready api 加载图像,将其保存在使用 jszip 制作的新制作的 zip 文件中,名称为 logo.png。我的问题是从文件阅读器获取图像以保存在 zip 中。
$(document).ready(function() {
$(".load").on("change", function(evt) {
var file = evt.target.files;
var reader = new FileReader();
reader.onload = (function(event) {
return function(e) {
var imgBinary = e.target.result;
var imgz = new Image();
imgz.attr("src", event.target.result);
imgz.attr("width", 128);
imgz.attr("height", 128);
holder.html("");
holder.append(imgz);
};
});
reader.readAsDataURL(file);
// reader.readAsArrayBuffer(file);
// Download Zip
$(".download").on("click", function() {
var zip = new JSZip();
zip.load(webAppZipBinary);
zip.file("Hello.txt", "Hello World\n");
var content = zip.generate({type:"blob"});
// see FileSaver.js
saveAs(content, theFile.name.substr(theFile.name.length - theFile.name.length, theFile.name.length - 4) + "-win.zip");
});
return false;
});
// Trigger Load Image
$(".trigload").click(function() {
$("input").trigger("click");
});
});
@import url("http://necolas.github.io/normalize.css/3.0.1/normalize.css");
.hide {
display: none;
}
.holder {
text-align: center;
}
.fr {
float: right;
}
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="http://stuk.github.io/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="http://stuk.github.io/jszip-utils/dist/jszip-utils.js"></script>
<script type="text/javascript" src="http://stuk.github.io/jszip/vendor/FileSaver.js"></script>
<input type="file" class="hide">
<a class="trigload" href="javascript:void(0)">Load Image</a>
<a class="download fr" href="javascript:void(0)">Download</a>
<div class="holder"></div>
【问题讨论】:
-
谁投了反对票,你能给出相关性吗?
-
到底是什么问题?
new JSZip(binaryImg)似乎很可疑,这个构造函数 parses a zip file,不是图像。另一件事,您的对象zip是在一个范围内创建的,但您尝试在另一个范围内使用它。 -
我正在尝试使用 fileready api 加载图像...将其保存在使用 jszip 制作的新制作的 zip 文件中...名称为 logo.png 但我的问题是将图像从文件阅读器保存在 zip 中。
标签: javascript jquery filereader jszip