美文网首页
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