使用了plus.gallery.pick来获取图片,返回的是图片的url,请问怎么将这个url转换为原生的file对象,或者读取成base64的文件?麻烦各位了。
- 发布:2015-09-02 11:50
- 更新:2019-11-13 14:33
- 阅读:4510
赵梦欢 - 专注前端,乐于分享!
可以使用plus.io.FileReader的readAsDataURL读取文件对象为DataURL:http://www.html5plus.org/doc/zh_cn/io.html#plus.io.FileReader.readAsDataURL
楼主解决没?我也有这个需求,
-
/**
* @description 把文件转换成base64后的字符串
* @param url 文件路径
* @param callback 回调方法
* @param 输出格式
*/
function convertImgToBase64(url, callback, outputFormat){
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
var img = new Image;
img.crossOrigin = 'Anonymous';
img.onload = function(){
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img,0,0);
var dataURL = canvas.toDataURL(outputFormat || 'image/png');
callback.call(this, dataURL);
canvas = null;
};
img.src = url;
}
转换成file: http://www.html5plus.org/doc/zh_cn/io.html#plus.io.resolveLocalFileSystemURL2016-11-08 09:45
voicerul = plus.io.convertLocalFileSystemURL(voicerul);
plus.io.resolveLocalFileSystemURL(voicerul, function(entry) {
entry.file(function(file) {
reader = new plus.io.FileReader();
reader.onloadend = function(e) {
//e.target.result;//base64字符串
};
reader.readAsDataURL(file);
},
function(e) {
alert(e.message);
});
}, function() {
console.log(1);
});
yinzhq
请问一下,解决了么?
2016-06-06 13:33