sailor
sailor
  • 发布:2015-09-02 11:50
  • 更新:2019-11-13 14:33
  • 阅读:4510

使用plus.gallery.pick怎么获取图片的file对象?

分类:HTML5+

使用了plus.gallery.pick来获取图片,返回的是图片的url,请问怎么将这个url转换为原生的file对象,或者读取成base64的文件?麻烦各位了。

2015-09-02 11:50 负责人:无 分享
已邀请:
zsoft

zsoft

同问~~~~~

  • yinzhq

    请问一下,解决了么?

    2016-06-06 13:33

万变的律

万变的律

我也有这个需求,怎么解决???

8***@qq.com

8***@qq.com

j将url转换成绝对路径后,在利用file的api就可以得到文件对象了

  • 星辰若风

    怎么把获取到的文件转换成绝对路径?

    2019-11-12 11:17

赵梦欢

赵梦欢 - 专注前端,乐于分享!

可以使用plus.io.FileReader的readAsDataURL读取文件对象为DataURL:http://www.html5plus.org/doc/zh_cn/io.html#plus.io.FileReader.readAsDataURL

2***@qq.com

2***@qq.com

楼主解决没?我也有这个需求,

  • Float

       /**  
    * @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.resolveLocalFileSystemURL

    2016-11-08 09:45

px15229

px15229

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);
});

星辰若风

星辰若风

楼主解决了吗

5***@qq.com

5***@qq.com - 开发一个月,头发已没

同求答案,急

该问题目前已经被锁定, 无法添加新回复