diff --git a/lib/java110/utils/translate-image-0.9.js b/lib/java110/utils/translate-image-0.9.js new file mode 100644 index 0000000..2c38847 --- /dev/null +++ b/lib/java110/utils/translate-image-0.9.js @@ -0,0 +1,100 @@ +/** + +* 压缩 + +* @param {Object} imgSrc 图片url + +* @param {Object} callback 回调设置返回值 + +*/ + +export function translate(imgSrc, callback) { + + var img = new Image(); + + img.src = imgSrc; + + img.onload = function () { + + var that = this; + + var h = that.height; + + // 默认按比例压缩 + + var w = that.width; + + var canvas = document.createElement('canvas'); + + var ctx = canvas.getContext('2d'); + + var anw = document.createAttribute("width"); + + anw.nodeValue = w; + + var anh = document.createAttribute("height"); + + anh.nodeValue = h; + + canvas.setAttributeNode(anw); + + canvas.setAttributeNode(anh); + + ctx.drawImage(that, 0, 0, w, h); + + //压缩比例 + + var quality = 0.3; + + var base64 = canvas.toDataURL('image/jpeg', quality); + + canvas = null; + + // var blob = base64ToBlob(base64); + + // console.log(333); + // console.log(base64) + + //Blob对象转blob地址 + + // var blobUrl = window.URL.createObjectURL(blob); + + callback(base64); + + } + +} + +/** + +* base转Blob对象 + +* @param {Object} base64 base64地址 + +*/ + +export function base64ToBlob(base64) { + + var arr = base64.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 + + }); + +} \ No newline at end of file diff --git a/lib/java110/utils/translate-image.js b/lib/java110/utils/translate-image.js index 2c38847..84f114e 100644 --- a/lib/java110/utils/translate-image.js +++ b/lib/java110/utils/translate-image.js @@ -1,100 +1,67 @@ /** - -* 压缩 - -* @param {Object} imgSrc 图片url - -* @param {Object} callback 回调设置返回值 - -*/ + * 压缩 + * + * @param {Object} imgSrc 图片url + * @param {Object} callback 回调设置返回值 + */ export function translate(imgSrc, callback) { - - var img = new Image(); - - img.src = imgSrc; - - img.onload = function () { - - var that = this; - - var h = that.height; - - // 默认按比例压缩 - - var w = that.width; - - var canvas = document.createElement('canvas'); - - var ctx = canvas.getContext('2d'); - - var anw = document.createAttribute("width"); - - anw.nodeValue = w; - - var anh = document.createAttribute("height"); - - anh.nodeValue = h; - - canvas.setAttributeNode(anw); - - canvas.setAttributeNode(anh); - - ctx.drawImage(that, 0, 0, w, h); - - //压缩比例 - - var quality = 0.3; - - var base64 = canvas.toDataURL('image/jpeg', quality); - - canvas = null; - - // var blob = base64ToBlob(base64); - - // console.log(333); - // console.log(base64) - - //Blob对象转blob地址 - - // var blobUrl = window.URL.createObjectURL(blob); - - callback(base64); - - } - + imageToBease64(imgSrc, callback) } /** + * 图片转base64 + * + * @param imageUrl 图片地址 + * @param callback 回调 + */ +function imageToBease64(imageUrl, callback) { + // #ifdef MP-WEIXIN + uni.getFileSystemManager().readFile({ + filePath: imageUrl, + encoding: 'base64', + success: res => { + console.log(res); + let base64 = 'data:image/jpeg;base64,' + res.data + callback(base64) + }, fail: (e) => { + console.log("图片转换失败"); + } + }) + // #endif -* base转Blob对象 - -* @param {Object} base64 base64地址 - -*/ + // #ifndef MP-WEIXIN + uni.request({ + url: imageUrl, + method: 'GET', + responseType: 'arraybuffer', + success: ress => { + let base64 = wx.arrayBufferToBase64(ress.data); + base64 = 'data:image/jpeg;base64,' + base64 + }, fail: (e) => { + console.log("图片转换失败"); + } + }) + // #endif +} +/** + * base转Blob对象 + * + * @param {Object} base64 base64地址 + */ export function base64ToBlob(base64) { - var arr = base64.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 - }); - } \ No newline at end of file diff --git a/pages/applyRoomRecordHandle/applyRoomRecordHandle.vue b/pages/applyRoomRecordHandle/applyRoomRecordHandle.vue index ed2c1ab..84ba7b3 100644 --- a/pages/applyRoomRecordHandle/applyRoomRecordHandle.vue +++ b/pages/applyRoomRecordHandle/applyRoomRecordHandle.vue @@ -103,11 +103,11 @@ success: (res) => { that.imgList.push(res.tempFilePaths[0]); var tempFilePaths = res.tempFilePaths[0] - //#ifdef H5 + TanslateImage.translate(tempFilePaths, (url) => { that.photos.push(url); }) - //#endif + } }); }, diff --git a/pages/excuteOneInspection/excuteOneInspection.vue b/pages/excuteOneInspection/excuteOneInspection.vue index 2cd6ab3..e879e51 100644 --- a/pages/excuteOneInspection/excuteOneInspection.vue +++ b/pages/excuteOneInspection/excuteOneInspection.vue @@ -178,11 +178,11 @@ success: (res) => { that.$data.imgList.push(res.tempFilePaths[0]); var tempFilePaths = res.tempFilePaths[0] - //#ifdef H5 + TanslateImage.translate(tempFilePaths, (url) => { that.photos.push(url); }) - //#endif + } }); }, diff --git a/pages/repairHandle/repairHandle.vue b/pages/repairHandle/repairHandle.vue index 6c333d3..b731f7e 100644 --- a/pages/repairHandle/repairHandle.vue +++ b/pages/repairHandle/repairHandle.vue @@ -428,11 +428,11 @@ success: (res) => { that.afterRepairImgList.push(res.tempFilePaths[0]); var tempFilePaths = res.tempFilePaths[0] - //#ifdef H5 + TanslateImage.translate(tempFilePaths, (url) => { that.afterRepairPhotos.push(url); }) - //#endif + } }); }, diff --git a/pages/roomRenovationRecordHandle/roomRenovationRecordHandle.vue b/pages/roomRenovationRecordHandle/roomRenovationRecordHandle.vue index ad60f68..6c3b544 100644 --- a/pages/roomRenovationRecordHandle/roomRenovationRecordHandle.vue +++ b/pages/roomRenovationRecordHandle/roomRenovationRecordHandle.vue @@ -103,11 +103,11 @@ success: (res) => { that.imgList.push(res.tempFilePaths[0]); var tempFilePaths = res.tempFilePaths[0] - //#ifdef H5 + TanslateImage.translate(tempFilePaths, (url) => { that.photos.push(url); }) - //#endif + } }); },