You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.0 KiB

5 years ago
function uploadToRongCloud(_imgFile, fun) {
var uploadMsg = null;
var config = {
domain: 'http://upload.qiniu.com',
fileType: RongIMLib.FileType.IMAGE,
getToken: function(callback) {
RongIMClient.getInstance().getFileToken(this.fileType, {
onSuccess: function(data) {
callback(data.token);
},
onError: function(error) {
console.log('getFileToken error:' + error);
}
});
}
};
var callback = {
onError: function(errorCode) {
console.log("errorCode");
},
onProgress: function(loaded, total) {
// console.log("onProgress");
},
onCompleted: function(data) {
console.log("onCompleted");
data.fileType = getFileType(data.name);
getFileUrl(data);
}
};
var getFileType = function(filename) {
// 默认支持两种图片格式,可自行扩展
var imageType = {
'jpg': 1,
'png': 2
};
var index = filename.lastIndexOf('.') + 1,
type = filename.substring(index);
return type in imageType ? 'image' : 'file';
};
var getFileUrl = function(data) {
urlItem['image'](data);
};
var urlItem = {
file: function(data) {
var fileType = RongIMLib.FileType.FILE;
im.getFileUrl(fileType, data.filename, data.name, {
onSuccess: function(result) {},
onError: function(error) {}
});
},
image: function(data) {
var fileType = RongIMLib.FileType.IMAGE;
RongIMClient.getInstance().getFileUrl(fileType, data.filename, null, {
onSuccess: function(result) {
uploadMsg = new RongIMLib.ImageMessage({
content: data.thumbnail,
imageUri: result.downloadUrl
});
// console.log(JSON.stringify(uploadMsg));
// console.log(JSON.stringify(result));
fun(uploadMsg);
},
onError: function(error) {
fun(error);
}
});
}
};
// console.log("上传图片:" + _imgFile.files[0].name);
UploadClient.initImage(config, function(uploadFile) {
// console.log("上传图片:" + _imgFile.files[0].name);
uploadFile.upload(_imgFile.files[0], callback);
});
}