添加模块UIMediaScanner
示例是图片上传,同理文件上传时,把选择图片的模块换成选择文件的模块
// 选择图片
var UIMediaScanner = api.require('UIMediaScanner');
UIMediaScanner.open({
type: 'picture',
column: 4, // 图片显示的列数
classify: true, //是否将图片分类显示(为 true 时,会首先跳转到相册分类列表页面)
max: 20, //最多选择几张图片
sort: { //图片排序方式
key: 'time', //(可选项)字符串类型;排序方式,默认:'time'
//取值范围:
//time(按图片创建时间排序)
order: 'desc' //(可选项)字符串类型;默认:'desc'
//取值范围:
//asc(旧->新)
//desc(新->旧)
},
texts: {
stateText: '已选择*项',
cancelText: '取消',
finishText: '完成'
},
styles: {
bg: '#fff',
mark: {
icon: '',
position: 'top_right',
size: 30
},
nav: {
bg: '#eee',
stateColor: '#000',
stateSize: 18,
cancelBg: 'rgba(0,0,0,0)',
cancelColor: '#000',
cancelSize: 18,
finishBg: 'rgba(0,0,0,0)',
finishColor: '#000',
finishSize: 18
}
},
scrollToBottom: {
intervalTime: -1, //(可选项)数字类型;打开媒体资源界面后间隔的时间开始自动滚动到底部,单位秒(s),小于零的数表示不滚动到底部;默认:-1
anim: true //(可选项)布尔类型;滚动时是否添加动画,android 平台不支持动画效果;默认true
},
exchange: true, //是否交换‘确定’和‘取消’按钮的位置(默认‘取消’按钮在右边,‘确定’按钮在左边)
rotation: true //屏幕是否旋转(横屏),为 true 时可以横竖屏旋转,false 时禁止横屏
}, function(ret) {
if (ret) {
// alert(JSON.stringify(ret));
// eventType字符串类型 按钮点击事件 取值范围
// confirm 点击确定按钮
// cancel 点击取消按钮
// preview 用户点击缩略图触发的预览事件,仅当 showPreview 为 true 时有效
// albumError(访问相册失败)
if (ret.eventType == 'confirm') {
for (var i = 0; i < ret.list.length; i++) {
//添加图片 预览
$('.z_photo').append('<img src="file://' + ret.list[i].thumbPath + '" style="display:inline-block;">')
// 提交
api.ajax({
url: baseurl + 'Message/uploadPic',
method: 'post',
data: {
files: {
file: ret.list[i].path
},
},
dataType: 'json',
}, function(ret, err) {
if (ret) {
if (ret.status == 0) {
api.toast({
msg: '上传失败',
duration: 2000,
location: 'bottom'
});
} else {
imgPath.push(ret.path)
}
} else {
alert(err.msg)
}
})
}
}
}
});