zip.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  6. <meta name="HandheldFriendly" content="true"/>
  7. <meta name="MobileOptimized" content="320"/>
  8. <title>Hello H5+</title>
  9. <script type="text/javascript" src="../js/common.js"></script>
  10. <script type="text/javascript">
  11. var zip = "_doc/zip/index.zip",
  12. unzip = "_doc/zip/index/";
  13. function doCompress(){
  14. plus.zip.compress( "_www/index.html", zip, function(){
  15. outLine( "操作成功!保存路径为:"+zip );
  16. }, function(e){
  17. outLine( "操作失败:"+e.message );
  18. } );
  19. }
  20. function compress(){
  21. outSet( "压缩文件:" );
  22. plus.io.resolveLocalFileSystemURL( zip, function(entry){
  23. outLine( "文件已存在,中止操作!" );
  24. plus.nativeUI.confirm( "压缩文件已存在,是否立即删除", function(i){
  25. if ( i.index == 0 ) {
  26. entry.remove();
  27. }
  28. } );
  29. }, function(e){
  30. doCompress();
  31. } );
  32. }
  33. function doDecompress(){
  34. plus.zip.decompress( zip, unzip, function(){
  35. outLine( "操作成功!保存路径为:"+unzip );
  36. }, function(e){
  37. outLine( "操作失败:"+e.message );
  38. } );
  39. }
  40. function decompress(){
  41. outSet( "解压文件:" );
  42. plus.io.resolveLocalFileSystemURL( unzip, function(entry){
  43. outLine( "目录已存在,中止操作!" );
  44. plus.nativeUI.confirm( "解压目录已存在,是否立即删除", function(i){
  45. if ( i.index == 0 ) {
  46. entry.removeRecursively();
  47. }
  48. } );
  49. }, function(e){
  50. plus.io.resolveLocalFileSystemURL( zip, function(entry){
  51. doDecompress();
  52. }, function(e){
  53. plus.nativeUI.alert( "压缩文件不存在,请先压缩文件!" );
  54. outLine( "压缩文件不存在,中止操作!" );
  55. } );
  56. } );
  57. }
  58. function clearZip(){
  59. outSet( "清空数据!" );
  60. plus.io.resolveLocalFileSystemURL( "_doc/zip/", function(entry){
  61. entry.removeRecursively();
  62. } );
  63. }
  64. // 压缩图片
  65. function compressImage(){
  66. outSet("开始压缩图片:");
  67. plus.nativeUI.showWaiting();
  68. plus.zip.compressImage({
  69. src:"_www/img/shake/1.jpg",
  70. dst:"_doc/cm.jpg",
  71. quality:20,
  72. overwrite:true,
  73. width:'50%',
  74. clip:{
  75. top:"25%",
  76. left:"25%",
  77. width:"50%",
  78. height:"50%"
  79. }
  80. },
  81. function(i){
  82. plus.nativeUI.closeWaiting();
  83. display.style.display="block";
  84. clipimg.src=i.target;
  85. outLine("压缩图片成功:"+JSON.stringify(i));
  86. },function(e){
  87. plus.nativeUI.closeWaiting();
  88. outLine("压缩图片失败: "+JSON.stringify(e));
  89. });
  90. }
  91. </script>
  92. <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
  93. <style type="text/css">
  94. .display {
  95. width: 100%;
  96. height: 100%;
  97. display: none;
  98. text-align: center;
  99. padding-top: 30%;
  100. position: fixed;
  101. top: 0;
  102. background: rgba(0,0,0,0.8);
  103. z-index: 9999;
  104. overflow: hidden;
  105. }
  106. </style>
  107. </head>
  108. <body>
  109. <br/>
  110. <div class="button" onclick="compressImage()">压缩图片</div>
  111. <ul class="dlist">
  112. <li class="ditem" onclick="compress();">压缩文件</li>
  113. <li class="ditem" onclick="decompress();">解压文件</li>
  114. <li class="ditem" onclick="clearZip();">清理数据</li>
  115. </ul>
  116. <div id="outpos"/>
  117. <div id="output">
  118. Zip管理压缩文件,用于Zip文件的压缩与解压缩。
  119. </div>
  120. <div id='display' class="display" onclick="this.style.display='none';">
  121. <img id="clipimg" style="margin:auto;"/>
  122. </div>
  123. </body>
  124. </html>