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
86 lines
2.0 KiB
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); |
|
}); |
|
|
|
} |