/**
*create by lyn on 2017/4/22.
*/
//params
var domain,
uptoken,
imgKey,
imgNumber,
imgKeyList;
//获取七牛的uptoken
function getUptoken() {
var url = urlBaseQ + "/health/v2_0/qiniu/getQiniuToken";
$.ajax({
type: "post",
url: url,
async: false,
data: {},
dataType: 'json',
success: function(response) {
if(response.message == "成功") {
domain = response.object.domain;
uptoken = response.object.uptoken;
}
},
error: function(response) {
alert('error');
}
});
}
getUptoken();
//创建上传的图片显示dom
function createNewImg(ele, src, qiniuSrc) {
var imgStr = '<div class="imgsCon" style="position:relative;display:inline-block;margin:0px 0.07rem"><img style="width:0.6rem;height:0.6rem;" src="' + src + '" /><input type="hidden" value="' + qiniuSrc + '"><i class="delImg"></i></div>';
$("#" + ele).append(imgStr);
}
//初始化uploader
var uploader = Qiniu.uploader({
runtimes: 'html5,flash,html4', //上传模式,依次退化
browse_button: 'cvs', //上传选择的按钮,必需
uptoken: uptoken, //uptoken是上传凭证,由其他程序生成
uptoken_url: urlBaseQ + "/health/v2_0/qiniu/getQiniuToken", //ajax请求uptoken的url
get_new_uptoken: false, //设置上传文件的时候是否每次都重新获取新的uptoken
unique_names: false, //默认false,key为文件名,若开启该选项,JS-SDK会为每个文件自动生成key(文件名)
save_key: false, //默认false,若在服务器生成uptoken的上传策略中指定了save_key,则开启,SDK在前端将不对key进行任何处理
domain: domain, //bucket域名,下载资源时用到,必需
container: 'upload', //上传区域DOM ID,默认是browser_button
max_file_size: '10mb', //最大文件体积限制
max_retries: 3, //上传失败最大重试次数
dragdrop: false, //开启可拖拽上传
chunk_size: '4mb', //分块上传时,每块的体积
auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传ge files"pg,jpeg,gif,png"}
resize: {
width: 60,
height: 60,
crop: true,
quality: 60,
preserve_headers: false
},
x_vars : {
// 查看自定义变量
},
init: {
'FilesAdded': function(up, files) { // 文件添加进队列后,处理相关的事情
plupload.each(files, function(file) {
console.log("文件添加在队列中:",file);
});
},
'BeforeUpload': function(up, file) { // 每个文件上传前,处理相关的事情
console.log("文件上传前file:",file);
},
'UploadProgress': function(up, file) { // 每个文件上传时,处理相关的事情
console.log("文件上传时file:",file);
},
'FileUploaded': function(up, file, info) { // 每个文件上传成功后,处理相关的事情
//判断当前设备
var u = navigator.userAgent,
app = navigator.appVersion;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
if(isAndroid) {
var res = JSON.parse(info);
var sourceLink = domain + "/" + res.key; //获取上传成功后的文件的Url
sourceLink = "http://" + sourceLink;
var imgLink = Qiniu.imageView2({
mode: 3, // 缩略模式,共6种[0-5]
w: 60, // 具体含义由缩略模式决定
h: 60, // 具体含义由缩略模式决定
q: 100, // 新图的图像质量,取值范围:1-100
format: 'jpg' // 新图的输出格式,取值范围:jpg,gif,png,webp等
}, sourceLink);
console.log(imgLink);
var link = imgLink.slice(32);
console.log(link);
//处理多次上传的时候,自动创建img标签
createNewImg('imgContainerFromUp', link, link);
} else {
var res = JSON.parse(info);
var sourceLink = domain + "/" + res.key; //获取上传成功后的文件的Url
sourceLink = "http://" + sourceLink;
//处理多次上传的时候,自动创建img标签
createNewImg('imgContainerFromUp', sourceLink, sourceLink);
}
var imgList = sourceLink;
imgKeyList += "," + imgList;
console.log("imgList:", imgKeyList);
localStorage.setItem("imgList", imgKeyList);
setDom();
},
'Error': function(up, err, errTip) { //上传出错时,处理相关的事情
alert("该图片已经存在!");
},
'UploadComplete': function() { //队列文件处理完毕后,处理相关的事情
}
},
});
//对页面dom的操作
function setDom(){
$(".delImg").on('click', function() {
$(this).parent().css({
"display": "none"
});
});
$(".pic-right").css({
"display": 'none'
});
}
解决Android浏览器使用七牛上传文件时取不到后缀名
最新推荐文章于 2022-05-14 21:41:44 发布