【发布时间】:2017-10-20 05:59:26
【问题描述】:
单击时我试图制作一个按钮,它将文件下载为 zip 文件。我试图从给定的 url 将文件加载到 Zip 中。 我正在使用 Liferay 6.1。
JSP 文件中的脚本声明是否正确?
我已经在 liferay-portlet.xml 中指定了 jszip.js。
<footer-portlet-javascript>/js/jszip.js</footer-portlet-javascript>
我必须使用 Liferay AUI Taglib 标签还是一个简单的 javaScript 标签才能完成这项工作?
<aui:script></aui:script> 或 <script type="text/javascript"></script> 或 liferay-portlet.xml
我下载多文件的脚本是否正确?
<c:if test="<%= multi_files_urls != null && multi_files_urls.size() > 1 %>">
<aui:button onClick="downloadFiles(<%= multi_files_urls %>)" value="Download files"></aui:button>
</c:if>
<script type="text/javascript">
function downloadFiles(multi_files_urls) {
for (var url in multi_files_urls )
JSZipUtils.getBinaryContent(url, function(err, data) {
if(err) {
throw err;
}
JSZip.loadAsync(data).then(function () {
var zip = new JSZip(data);
});
});
zip.then(function(content) {
saveAs(content, "my_documents.zip");
});
}
</script>
我收到以下错误:
(index):1 Uncaught ReferenceError: zip is not defined 在下载文件((索引):1) 在 HTMLInputElement.onclick ((index):1)
更新
我尝试了<header-portlet-javascript>/js/jszip.js</header-portlet-javascript> 和<script type="text/javascript" src="<%=request.getContextPath()%>/js/jszip.js"></script>,但没有成功。
我点击了这个链接:Unable to include css and JS files in Liferay Portlet JSP Page
【问题讨论】:
标签: javascript liferay liferay-6 jszip