美文网首页
input上传图片

input上传图片

作者: xilong | 来源:发表于2019-02-06 19:42 被阅读9次

    1、上传文件

    现在上传图片,基本采用的是上传file formData方式。一般上传blob对象和file对象都是可以的,但是有些后台只能是 file对象方式,这个时候需要把blob对象转化为file对象方式。

    let file = document.getElementById("input").files[0];   //选择的图片文件
    let data = new FormData();
    data.append('file', file);
    //然后直接把data对象传上去,一般post方法,data就是数据
    

    2、把file对象/blob对象 转化为base64,可以预览

    let file = document.getElementById("input").files[0];   //选择的图片文件
    var reader = new FileReader();
    reader.readAsDataURL(file);         //读取图片文件
    reader.onload = function(){
          console.log(this.result);    //this.result就是 图片base64数据
    }
    

    3、blob对象转化为file对象

    file对象 是blob对象 的一种特例,一般剪裁图片插件都可以获取图片的 base64 数据,blob对象。

    //base64可以转化为blob,
    //blob可以转化为file对象
    //file对象也可以转化为blob
    
    //我这里只用到了 blob 转file
    
    //这里的data参数就是blob对象
    let myfile = new File([data], "filename.png", {type: "image/png"});   //blob 对象转化为file对象
    
    

    相关文章

      网友评论

          本文标题:input上传图片

          本文链接:https://www.haomeiwen.com/subject/yleisqtx.html