Zip模块管理文件压缩和解压,通过plus.zip可获取压缩管理对象

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
	<span style="color:#87ceeb">// ...</span>
	<span style="color:#ffa0a0">"Zip"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
		<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"压缩与解压"</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
			</code></span></span>

compress

压缩生成Zip文件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compress</span><span style="color:#ffffff">(</span><span style="color:#ffffff">src</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> zipfile</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
				</code></span></span>

参数:

  • src: ( String ) 必选 要压缩的源文件路径,支持文件路径或目录

  • zipfile: ( String ) 必选 压缩后保存的Zip文件路径

  • successCB: ZipSuccessCallback ) 可选 压缩Zip文件操作成功回调,在压缩操作成功时调用

  • errorCB: ZipErrorCallback ) 可选 压缩Zip文件操作失败回调,在压缩操作失败时调用

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">//压缩</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> zipCompress</span><span style="color:#ffffff">(){</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> zipfile </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">"_doc/text11.zip"</span><span style="color:#ffffff">;</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> targetPath </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">'_doc/dir/'</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compress</span><span style="color:#ffffff">(</span><span style="color:#ffffff">targetPath</span><span style="color:#ffffff">,</span><span style="color:#ffffff">zipfile</span><span style="color:#ffffff">,</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

decompress

解压缩Zip文件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">decompress</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> zipfile</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> target</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
				</code></span></span>

参数:

  • zipfile: ( String ) 必选

    需解压Zip文件路径

  • target: ( String ) 必选

    解压Zip文件的目标路径,必须是路径

  • successCB: ZipSuccessCallback ) 可选

    解压Zip文件操作成功回调,在解压操作成功时调用。

  • errorCB: ZipErrorCallback ) 可选

    解压Zip文件操作失败回调,在解压操作失败时调用。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">//解压缩</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> zipDecompress</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> zipfile </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">"_doc/text.zip"</span><span style="color:#ffffff">;</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> targetPath </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">'_doc/dir/'</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">decompress</span><span style="color:#ffffff">(</span><span style="color:#ffffff">zipfile</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> targetPath</span><span style="color:#ffffff">,</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Decompress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

compressImage

图片压缩转换

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

可用于图片的质量压缩、大小缩放、方向旋转、区域裁剪、格式转换等。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">//压缩图片</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> compressImage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_www/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			dst</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_doc/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			quality</span><span style="color:#ffffff">:</span><span style="color:#cd5c5c">20</span>
		<span style="color:#ffffff">},</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#87ceeb">//缩放图片</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> zoomImage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_www/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			dst</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_doc/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			width</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"50%"</span>		<span style="color:#87ceeb">// 缩小到原来的一半</span>
		<span style="color:#ffffff">},</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#87ceeb">//旋转图片</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> rotateImage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_www/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			dst</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_doc/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			rotate</span><span style="color:#ffffff">:</span><span style="color:#cd5c5c">90</span>		<span style="color:#87ceeb">// 旋转90度</span>
		<span style="color:#ffffff">},</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#87ceeb">//裁剪图片</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> clipImage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_www/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			dst</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_doc/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			clip</span><span style="color:#ffffff">:{</span><span style="color:#ffffff">top</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"25%"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">left</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"25%"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">width</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"50%"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">height</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"50%"</span><span style="color:#ffffff">}</span>		<span style="color:#87ceeb">// 裁剪图片中心区域</span>
		<span style="color:#ffffff">},</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#87ceeb">//格式转换</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> convertImage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressImage</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_www/a.jpg"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			dst</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"_doc/a.png"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			format</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"png"</span>		<span style="color:#87ceeb">// 将jpg转换成png格式</span>
		<span style="color:#ffffff">},</span>
		<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress success!"</span><span style="color:#ffffff">);</span>
		<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Compress error!"</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

compressVideo

视频压缩

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressVideo</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

支持设置视频的压缩质量、码率、帧率、分辨率大小等,压缩后视频格式为mp4。
压缩成功后的视频默认保存到应用临时目录(应用退出时清除)。
注意:HBuilderX3.1.5+版本新增支持。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 压缩视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> compressVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
  plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">showWaiting</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
  plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">zip</span><span style="color:#ffffff">.</span><span style="color:#ffffff">compressVideo</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
    src</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'_www/video/bee.mp4'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
    quality</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'medium'</span>
  <span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
    plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeWaiting</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
    console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"压缩视频成功:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
  <span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
    plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeWaiting</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
    console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"压缩视频失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
  <span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

CompressImageOptions

JSON对象,配置图片压缩的参数

说明:

设置quality属性则表示操作后保存图片的质量。 设置width/height属性则表示对图片进行缩放操作,设置rotate属性这表示对图片进行转换操作,设置clip属性则表示对图片进行裁剪操作,可同时设置以上操作。

属性:

  • src: (String 类型 )压缩视频文件的路径

    支持以下图片路径: 相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持; 绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/a.jpg",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/a.png"; 相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.jpg"、"_doc/b.jpg"、"_documents/c.jpg"、"_downloads/d.jpg"; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。

    平台支持

    • Android - 4.4+ (支持) :

      支持jpg/jpeg、png等格式。

    • iOS - 8.0+ (支持) :

      支持jpg/jpeg、png、tif/tiff、bmp、ico、cur、xbm等格式。

  • dst: (String 类型 )压缩转换目标图片的路径

    支持以下图片路径: 绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.jpg",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png"; 相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_doc/b.jpg"、"_documents/c.jpg"、"_downloads/d.jpg",注意不支持"_www"开头的路径; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。 注意:如果设置的路径无权限访问,则返回失败。

  • overwrite: (Boolean 类型 )覆盖生成新文件

    仅在dst制定的路径文件存在时有效: true表示覆盖存在的文件; false表示不覆盖,如果文件存在,则返回失败。 默认值为false。

  • format: (String 类型 )压缩转换后的图片格式

    支持"jpg"、"png",默认值为jpg。

  • quality: (Number 类型 )压缩图片的质量

    取值范围为1-100,1表示使用最低的图片质量(转换后的图片文件最小)、100表示使用最高的图片质量(转换后的图片文件最大); 默认值为50。
    注意:仅对jpg格式图片有效。

  • width: (String 类型 )缩放图片的宽度

    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即根据height与源图高的缩放比例计算,若未设置height则使用源图高度); 默认值为"auto"。 注意:若设置了width属性值不合法(如"0px"),则不对图片进行缩放操作。

  • height: (String 类型 )缩放图片的高度

    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即根据width与源图宽的缩放比例计算,若未设置width则使用源图高度); 默认值为"auto"。 注意:若设置了height属性值不合法(如"0px"),则不对图片进行缩放操作。

  • rotate: (Number 类型 )旋转图片的角度

    支持值:90-表示旋转90度;180-表示旋转180度;270-表示旋转270度。 注意:若设置rotate属性值不合法,则不对图片进行旋转操作。

  • clip: (ClipImageOptions 类型 )裁剪图片的区域

    值参考ClipImageOptions定义,若设置clip属性值不合法,则不对图片进行裁剪操作。

CompressVideoOptions

JSON对象,配置视频压缩的参数

说明:

设置quality属性则表示压缩视频质量。需要更精确的压缩参数控制时,可指定bitrate(码率)、fps(帧率)、及resolution(相对于原视频分辨率比例)。 传入quality属性值后,bitrate、fps、resolution属性值将被忽略。

属性:

  • src: (String 类型 )压缩视频文件的路径

    支持以下路径: 相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持; 绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/a.mp4",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/a.mp4"; 相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.mp4"、"_doc/b.mp4"、"_documents/c.mp4"、"_downloads/d.mp4"; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。

    平台支持

    • Android - 4.4+ (支持) :

      支持mp4等格式。

    • iOS - 8.0+ (支持) :

      支持mov、mp4等格式。

  • filename: (String 类型 )压缩后视频文件保存的路径

    保存文件路径仅支持以"_downloads/"、"_doc/"、"_documents/"开头的字符串。 文件路径以文件后缀名结尾(如"_doc/download/video.mp4")表明指定保存文件目录及名称,以“/”结尾则认为指定保存文件的目录(此时程序自动生成文件名)。 如果指定的文件已经存在,则自动在文件名后面加"(i)",其中i为数字,如果文件名称后面已经是此格式,则数字i递增,如"video(1).mp4"。
    默认保存到应用临时目录(应用退出时清除),并自动生成文件名称。
    注意: HBuilderX3.1.10+版本支持。

  • quality: (String 类型 )压缩质量

    可取值:

    • low - 低视频质量压缩,文件小、视频不够清晰
    • medium - 中等视频质量压缩,平衡文件大小Hello uni-app视频清晰度
    • high - 高视频质量压缩,文件大、视频较清晰
    默认值为high。

  • bitrate: (Number 类型 )码率

    单位为kbps。
    注意:Android暂不支持。

  • fps: (Number 类型 )帧率

    注意:Android暂不支持。

  • resolution: (Number 类型 )视频分辨率

    相对于原视频的分辨率比例,取值范围大于0、小于等于1。 默认值为1。
    注意:Android暂不支持。

ClipImageOptions

JSON对象,图片裁剪区域的参数

属性:

  • top: (String 类型 )图片裁剪区域与原图片上边界的偏移距离

    支持像素值(如"10px")、百分比(如"10%");默认值为"0px"。 注意:如果top值超出原图片高度,则图片裁剪失败。

  • left: (Stirng 类型 )图片裁剪区域与原图片左边界的偏移距离

    支持像素值(如"10px")、百分比(如"10%");默认值为"0px"。 注意:如果left值超出原图片宽度,则图片裁剪失败。

  • width: (String 类型 )图片裁剪区域的宽度

    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即从left位置到图片右边界的宽度);默认值为"auto"。 注意:如果left值加width值超出原图片宽度,则使用"auto"值进行裁剪。

  • height: (String 类型 )图片裁剪区域的高度

    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即从top位置到图片下边界的高度);默认值为"auto"。 注意:如果top值加height值超出原图片高度,则使用"auto"值进行裁剪。

CompressImageSuccessCallback

图片压缩转换操作成功回调接口

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">Event</span> <span style="color:#f0e68c"><strong>event</strong></span> <span style="color:#ffffff">){</span>
	<span style="color:#87ceeb">// Code here</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> target </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩转换后的图片url路径,以"file://"开头</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> size </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">size</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩转换后图片的大小,单位为字节(Byte)</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> width </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">width</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩转换后图片的实际宽度,单位为px</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> height </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">height</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩转换后图片的实际高度,单位为px</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

  • event: ( Event ) 可选 图片压缩转换后的图片信息

    可通过event.target(String类型)获取压缩转换后的图片url路径,以"file://"开头,可直接在html页面中通过src属性引用,如Android平台"file:///storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.jpg",iOS平台"file:///var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png"; 可通过event.size(Number类型)获取压缩转换后图片的大小,单位为字节(Byte); 可通过event.width(Number类型)获取压缩转换后的图片的实际宽度,单位为px; 可通过event.height(Number类型)获取压缩转换后的图片的实际高度,单位为px。

返回值:

void : 无

CompressVideoSuccessCallback

视频压缩成功回调接口

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">Event</span> <span style="color:#f0e68c"><strong>event</strong></span> <span style="color:#ffffff">){</span>
	<span style="color:#87ceeb">// Code here</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> target </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">tempFilePath</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩后视频文件路径</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> size </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">.</span><span style="color:#ffffff">size</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 压缩视频的大小,单位为字节(Byte)</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

  • event: ( Event ) 可选 视频压缩后的文件信息

    回调参数为json类型,包含以下参数:

    • tempFilePath - 压缩后视频文件路径,应用临时目录,退出时清除
    • size - 压缩后视频文件大小,单位为字节(Byte)

返回值:

void : 无

ZipSuccessCallback

操作成功回调函数接口,在解压Zip文件或压缩成Zip文件成功时调用

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(){</span>
	<span style="color:#87ceeb">// Code here</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

返回值:

void : 无

ZipErrorCallback

操作错误回调函数接口,在解压Zip文件或压缩成Zip文件失败时调用

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onError</span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">){</span>
	<span style="color:#87ceeb">// Handle the error</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> code </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">code</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误编码</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> message </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误描述信息</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

  • error: ( Exception ) 可选 Zip操作的错误信息

    可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值