当将base64传入后台报错时,可能是值太大。这时候将base64转为file文件再传入后台。

//base64传入后台太大,将base64转为file文件传入后台。
function dataURLtoFile(dataurl, filename) {
	var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
	bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
	while(n--){
		u8arr[n] = bstr.charCodeAt(n);
	}
	return new File([u8arr], filename, {type:mime});
};

//多个文件可以由formData接
var formData = new FormData();
var att = [];
$('.p_photo img').each(function(i){//将文件传入数组再加入到formData里面。
    //dataURLtoFile(base64,文件名称)
    att = dataURLtoFile($(this).attr("src"), $(this).attr("alt"))
	formData.append("showAtt",att);
	formData.append("showAttName",$(this).attr("alt"));
});

 

你可能感兴趣的:(jQurey,jsp)