zhengkaixin 2 years ago
parent
commit
79c772482b
1 changed files with 38 additions and 12 deletions
  1. 38 12
      src/utils/wxJsApi.js

+ 38 - 12
src/utils/wxJsApi.js

@@ -70,12 +70,7 @@ export function chooseImage(count) {
 					wx.getLocalImgData({
 						localId: localIds[0],
 						success: function(res) {
-							var k=getImgSize(res.localData)
-							if(k<2000){
-									resolve(res);
-							}else{
-									reject("图片大小限制2M,当前图片大小为"+(k/1000)+"M,建议裁剪或拍照防止照片失真");
-							}
+							resolve(res);
 						}
 					});
 				} else {
@@ -99,15 +94,46 @@ export function getLocalImgData(localId, fun) {
 
 //上传图片
 export function uploadPic(imgBase64) {
+	//1,先将base64转换为blob
+		   function dataURLtoBlob(dataurl){
+		      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 Blob([u8arr], { type: mime });
+		    }
+		    //2,再将blob转换为file
+		  function  blobToFile(theBlob, fileName){
+		       theBlob.lastModifiedDate = new Date();  // 文件最后的修改日期
+		       theBlob.name = fileName;                // 文件名
+		       return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
+		    }
+			
+		
 	let promise = new Promise((resolve, reject) => {
 		var formData = new FormData();
 		formData.append('photoName', '1.jpg');
-		formData.append('photoBase64Data', imgBase64);
-
-		console.log(formData);
-		console.log(typeof formData);
-
-		API_Common.uploadBase64(formData).then(response => {
+		//formData.append('photoBase64Data', imgBase64);
+		var blob= dataURLtoBlob(imgBase64)
+		var file= blobToFile(blob,'1.jpg')
+		formData.append('photoFile', file);
+		
+		console.log(file);
+		 // console.log(res)
+		 // var k=getImgSize(res.localData)
+		 // console.log("图片大小"+(k/2000))
+		 if(file.size/1024<5000){
+		 	
+		 }else{
+			 var k=parseInt(file.size/1024) 
+		 		reject("图片大小限制5M,当前图片大小为"+(k/1000)+"M,建议裁剪或拍照防止照片失真");
+		 }
+		
+		API_Common.upload(formData).then(response => {
 			resolve(response);
 		}).catch(error => {
 			mui.toast(error);