美文网首页
前端文件上传杂谈

前端文件上传杂谈

作者: 恭行 | 来源:发表于2017-12-07 10:38 被阅读0次

    1,简单的file对象文件上传

    
          var readFile = document.getElementById('readFile');
    
          readFile.onchange = function() {
    
                if(!window.FormData) {
    
                    console.log('本浏览器不支持文件上传');
    
                };
    
                sentFileData(this.files[0]);
    
            };
    
            function sentFileData(file) {
    
                var xhr = new XMLHttpRequest();
    
                var fd = new FormData();
    
                fd.append('part', file);
    
                xhr.onload = function() {
    
                    if(xhr.readyState === 4 && xhr.status === 200) {
    
                        console.log(JSON.parse(xhr.responseText))
    
                    }
    
                };
    
            xhr.open('post', url);
    
            xhr.send(fd);
    
    }
    
    

    2.文件数据流上传文件

    var canvas = document.getElementsById('canvasText');
    
    //生成本地base64位链接, toDataURL参数输入图片的mimeType
    
    var imageUrl = canvas. toDataURL(' image/png ');
    
    //将base64转化成二进制
    
    var byteString = atob( imageUrl.split(',')[0]);
    
    //生成类型数组视图
    
    var uintArray = new Uint8Array(byteString.length);
    
    for(var i = 0; i < byteString; i++) {
    
            uintArray [i] = byteString .charCodeAt(i);
    
    };
    
    var blob = new Blob([uintArray], {type: 'image/png'});
    
     var xhr = new XMLHttpRequest();
    
     var fd = new FormData();
    
     fd.append('part', blob);
    
      xhr.onload = function() {
    
                if(xhr.readyState === 4 && xhr.status === 200) {
    
                    console.log(JSON.parse(xhr.responseText))
    
                }
    
      };
    
    xhr.open('post', url);
    
    xhr.send(fd);
    

    相关文章

      网友评论

          本文标题:前端文件上传杂谈

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