zip常见问题我要提意见

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

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)


{
// ...
"permissions":{
	// ...
	"Zip": {
		"description": "压缩与解压"
	}
}
}
			

compress

压缩生成Zip文件


void plus.zip.compress(src, zipfile, successCB, errorCB);
				

参数:

返回值:

void : 无

示例:


//压缩
function zipCompress(){
	var zipfile = "_doc/text11.zip";
	var targetPath = '_doc/dir/';
	plus.zip.compress(targetPath,zipfile,
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
				

uni-app使用plus注意事项

decompress

解压缩Zip文件


void plus.zip.decompress( zipfile, target, successCB, errorCB);
				

参数:

返回值:

void : 无

示例:


//解压缩
function zipDecompress() {
	var zipfile = "_doc/text.zip";
	var targetPath = '_doc/dir/';
	plus.zip.decompress(zipfile, targetPath,
		function() {
			alert("Decompress success!");
		},function(error) {
			alert("Compress error!");
	});
}
				

uni-app使用plus注意事项

compressImage

图片压缩转换


void plus.zip.compressImage(options, successCB, errorCB);
				

说明:

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

参数:

返回值:

void : 无

示例:


//压缩图片
function compressImage(){
	plus.zip.compressImage({
			src:"_www/a.jpg",
			dst:"_doc/a.jpg",
			quality:20
		},
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
//缩放图片
function zoomImage(){
	plus.zip.compressImage({
			src:"_www/a.jpg",
			dst:"_doc/a.jpg",
			width:"50%"		// 缩小到原来的一半
		},
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
//旋转图片
function rotateImage(){
	plus.zip.compressImage({
			src:"_www/a.jpg",
			dst:"_doc/a.jpg",
			rotate:90		// 旋转90度
		},
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
//裁剪图片
function clipImage(){
	plus.zip.compressImage({
			src:"_www/a.jpg",
			dst:"_doc/a.jpg",
			clip:{top:"25%",left:"25%",width:"50%",height:"50%"}		// 裁剪图片中心区域
		},
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
//格式转换
function convertImage(){
	plus.zip.compressImage({
			src:"_www/a.jpg",
			dst:"_doc/a.png",
			format:"png"		// 将jpg转换成png格式
		},
		function() {
			alert("Compress success!");
		},function(error) {
			alert("Compress error!");
	});
}
				

uni-app使用plus注意事项

compressVideo

视频压缩


void plus.zip.compressVideo(options, successCB, errorCB);
				

说明:

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

参数:

返回值:

void : 无

示例:


// 压缩视频
function compressVideo(){
  plus.nativeUI.showWaiting();
  plus.zip.compressVideo({
    src: '_www/video/bee.mp4',
    quality: 'medium'
  },function(e){
    plus.nativeUI.closeWaiting();
    console.log("压缩视频成功:"+JSON.stringify(e));
  },function(e){
    plus.nativeUI.closeWaiting();
    console.log("压缩视频失败:"+JSON.stringify(e));
  });
}
				

uni-app使用plus注意事项

CompressImageOptions

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

说明:

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

属性:

CompressVideoOptions

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

说明:

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

属性:

ClipImageOptions

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

属性:

CompressImageSuccessCallback

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


void onSuccess( Event event ){
	// Code here
	var target = event.target; // 压缩转换后的图片url路径,以"file://"开头
	var size = event.size; // 压缩转换后图片的大小,单位为字节(Byte)
	var width = event.width; // 压缩转换后图片的实际宽度,单位为px
	var height = event.height; // 压缩转换后图片的实际高度,单位为px
}
				

参数:

返回值:

void : 无

CompressVideoSuccessCallback

视频压缩成功回调接口


void onSuccess( Event event ){
	// Code here
	var target = event.tempFilePath; // 压缩后视频文件路径
	var size = event.size; // 压缩视频的大小,单位为字节(Byte)
}
				

参数:

返回值:

void : 无

ZipSuccessCallback

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


void onSuccess(){
	// Code here
}
				

参数:

返回值:

void : 无

ZipErrorCallback

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


void onError(error){
	// Handle the error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				

参数:

返回值:

void : 无