前端文件上传杂谈

2017-12-07  本文已影响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);
上一篇下一篇

猜你喜欢

热点阅读