侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

blob分批次上传文件

2024-05-11 星期六 / 0 评论 / 0 点赞 / 85 阅读 / 1735 字

<!DOCTYPE html><html><head><title>test blob</title></head><body><input type="file" name="test" onCha

<!DOCTYPE html><html><head>	<title>test blob</title></head><body>	<input type="file" name="test" onChange="showPhoto(this)"/></body><script type="text/javascript">function showPhoto(e){	var files=e.files,  		file=files[0];    var typeTemp=file.type;    var reader = new FileReader();    reader.readAsDataURL(file);    reader.onload=function(){    	console.log("this")    	var blobTemp = getBlob(file, typeTemp);// 创建blob对象,将blob与file关联    	console.log(blobTemp)		function getBlob(buffer, format){		    var Builder = window.WebKitBlobBuilder || window.MozBlobBuilder;		    if(Builder){		    	var builder = new Builder;		    	builder.append(buffer);		    	return builder.getBlob(format);		    } else {		        return new window.Blob([ buffer ], {type: format});		    }		}		var sliceSize = 1024 * 1024;//设置每次上传文件的大小  这里是1M		var length = Math.ceil(blobTemp.size / sliceSize);		for (var i = 0; i < length; i ++) {		  var start = i * sliceSize;		  var end = start + sliceSize - 1;		  if (end > blobTemp.size - 1) end = blobTemp.size - 1;		  var blob = sliceBlob(blobTemp, start, end);//对文件进行切割		  function sliceBlob(blob, start, end) {    			if (blob.slice) {  			      return blob.slice(start, end);  			}else {  			      throw new Error("This doesn't work!");  			}  		  }		  console.log(blob)  		  var formData=new FormData();		  formData.append('name',blob);		  // 这个name是后台要求的配置的参数名字 		  //分批次上传文件		  // 七牛支持分批次上传		}    }}</script></html>

 

广告 广告

评论区