美文网首页
2018-09-19-手动 FormData 上传

2018-09-19-手动 FormData 上传

作者: Volcaner | 来源:发表于2018-09-19 16:19 被阅读0次
    1. 手动 FormData 上传
    var blobArr;
    var formData = new FormData();
    formData.append("name", "abc");
    formData.append("file", blobArr);
    
    $.ajax({
            url: "ajax.php",
            type: "POST",
            data: formData,
            processData: false,
            contentType: false,
            cache: false,
    })
    .done(function(res) {
            console.log(res);
    })
    .fail(function(err) {
           console.log(err);
    });
    
    1. base64 和 blob 互转
    /** 
     * base64 转 blob 对象,文件上传 
     * 转载自:http://blog.csdn.net/hsany330/article/details/52575459 
     * @param dataURI 
     * @returns {Blob} 
     */  
    function dataURItoBlob(dataURI) {  
        var byteString = atob(dataURI.split(',')[1]);  
        var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];  
        var ab = new ArrayBuffer(byteString.length);  
        var ia = new Uint8Array(ab);  
        for (var i = 0; i < byteString.length; i++) {  
            ia[i] = byteString.charCodeAt(i);  
        }  
        var resAb = [ab];
        return new Blob(resAb, {type: mimeString});  
    } 
    
    /** 
     *  blob 对象 转 base64
     */  
    var fileReader = new FileReader();
    fileReader. readAsDataURL(blobObj);
    fileReader.onload = function() {
        var base64Url = fileReader.result;
    };
    
    /** 
     *  file 转 base64
     */  
    var fileReader = new FileReader();
    fileReader. readAsDataURL(file);
    fileReader.onload = function() {
        var base64Url = fileReader.result;
    };
    
    1. createObjectURL(file/blob)
    /** 
     *  file => createObjectURL
     */  
          var img = document.createElement("img");
          img.src = window.URL.createObjectURL(files[i]);
          img.height = 60;
          img.onload = function() {
              window.URL.revokeObjectURL(this.src);
          }
    
    /** 
     *  blob => createObjectURL
     */
          var img = document.createElement("img");
          img.src = window.URL.createObjectURL(blobObj);
          img.height = 60;
          img.onload = function() {
              window.URL.revokeObjectURL(this.src);
          }
    

    相关文章

      网友评论

          本文标题:2018-09-19-手动 FormData 上传

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