当前位置: 首页 > news >正文

网站长尾词挖掘昆明网站建设案例

网站长尾词挖掘,昆明网站建设案例,邢台信息港招聘求职,徐州服饰网站建设二次封装的uniapp版本图片压缩、上传工具#xff0c;支持全端#xff08;H5、小程序、APP#xff09; 新建文件#xff1a;file-util.js class FileUtil {/*** [文件上传]* param {[object]} fileObj [图片地址]* param {[object]} formData [参数]* param {[str… 二次封装的uniapp版本图片压缩、上传工具支持全端H5、小程序、APP 新建文件file-util.js  class FileUtil {/*** [文件上传]* param {[object]} fileObj [图片地址]* param {[object]} formData [参数]* param {[string]} url [上传地址]* param {[boolean]} compress [是否压缩]* return {[Promise]} [description]*/async uploadFile(fileObj, formData {}, url, compress true) {if (!fileObj) {return uni.showToast({title: 找不到文件~});}setTimeout(() {uni.showLoading({title: 上传中...,mask: true,})}, 500)let file fileObj;if (compress) {file await this.compressImage(fileObj)}return this.upload(file, formData, url)}/*** * param {Object} fileObj [文件对象]* param {Object} imageWidth 图片宽度*/async compressImage(fileObj, imageWidth 500) {let file fileObj;//#ifndef H5file await this.compressByMp(fileObj)//#endif//#ifdef H5file await this.compressByH5(fileObj, imageWidth)//#endifreturn file}/*** [压缩图片-小程序/APP]* param {[type]} fileObj [description]* return {[type]} [description]*/async compressByMp(fileObj) {return new Promise(resolve {if (fileObj.size 500000) {uni.compressImage({src: fileObj.path, // 图片路径quality: 60, // 压缩质量success(res) {let file {name: fileObj.name,type: fileObj.type,size: fileObj.size,path: res.tempFilePath}resolve(file)},fail(error) {console.warn(图片压缩异常,使用原图, error)resolve(fileObj)}})} else {console.warn(500K以下不压缩)resolve(fileObj)}})}/*** H5压缩* param {Object} fileObj 文件对象* param {Object} imageWidth 图片宽度* returns*/compressByH5(fileObj, imageWidth) {return new Promise(resolve {try {uni.getImageInfo({src: fileObj.path,success: function(res) {let canvasWidth res.width //图片原始长宽let canvasHeight res.height;let base canvasWidth / canvasHeight;if (canvasWidth imageWidth) {canvasWidth imageWidth;canvasHeight Math.floor(canvasWidth / base);}let img new Image();img.src fileObj.path; // 要压缩的图片 let canvas document.createElement(canvas);let ctx canvas.getContext(2d);canvas.width canvasWidth;canvas.height canvasHeight;// 将图片画到canvas上面 使用Canvas压缩 ctx.drawImage(img, 0, 0, canvasWidth, canvasHeight);canvas.toBlob(function(fileSrc) {let imgSrc window.URL.createObjectURL(fileSrc); //原生JS生成文件路径uni.downloadFile({url: imgSrc, //仅为示例并非真实的资源success: (res) {console.log(downloadFile, res)if (res.statusCode 200) {let file {name: fileObj.name,type: fileObj.type,size: fileObj.size,path: res.tempFilePath}resolve(file)} else {console.warn(图片压缩异常,使用原图, res)resolve(fileObj)}},fail(error) {console.warn(图片压缩异常,使用原图, error)resolve(fileObj)}})});}})} catch (e) {console.warn(图片压缩异常,使用原图, e)resolve(file)}})}/*** 图片转base64 - H5* param {Object} file* param {Object} imageWidth* returns*/compresToBase64ForH5(file, imageWidth) {return new Promise((resolve, reject) {try {uni.getImageInfo({src: file.path,success: function(res) {let canvasWidth res.width //图片原始长宽let canvasHeight res.height;let base canvasWidth / canvasHeight;if (canvasWidth imageWidth) {canvasWidth imageWidth;canvasHeight Math.floor(canvasWidth / base);}let img new Image();img.src file.path; // 要压缩的图片 let canvas document.createElement(canvas);let ctx canvas.getContext(2d);canvas.width canvasWidth;canvas.height canvasHeight;// 将图片画到canvas上面 使用Canvas压缩 ctx.drawImage(img, 0, 0, canvasWidth, canvasHeight);var ext img.src.substring(img.src.lastIndexOf(.) 1).toLowerCase();var dataURL canvas.toDataURL(image/ ext);resolve(dataURL)}})} catch (e) {reject(e)}})}/*** 上传到服务器 (响应报文按实际情况调整)* param {Object} file* param {Object} formData* param {Object} url*/upload(file, formData, url) {console.log(file)if (!formData) formData {}return new Promise((resolve, reject) {uni.uploadFile({url,filePath: file.path,formData,name: file,header: {chartset: utf-8,X-Access-Token: token,// content-type:application/x-www-form-urlencoded},success(res) {let dataJson JSON.parse(res.data)if (res.statusCode 200) {// resolve(decodeURIComponent(data))if (dataJson.success) {resolve(dataJson.result)} else {let tip 上传失败if (dataJson dataJson.message) tip dataJson.messageuni.showToast({title: tip})reject(dataJson)}} else {let tip 上传失败if (dataJson dataJson.message) tip dataJson.messageuni.showToast({title: tip})reject(dataJson)}},fail(error) {let message error.errMsg;if (message.indexOf(uploadFile:fail timeout) -1) message 上传超时请尝试压缩图片else if (message.indexOf(uploadFile:fail) -1) message 服务器或网络异常信息提交失败else message 上传失败uni.showToast({title: message})reject(error)},complete(res) {console.log(res)setTimeout(() {uni.hideLoading();}, 500)}})})} }export default new FileUtil() 使用 import FileUtil from /utils/file-utilFileUtil.upload(fileObj)
http://www.yingshimen.cn/news/61816/

相关文章:

  • 莆田中建建设发展有限公司网站厦门网站建设开发
  • DW做的网站都能打开吗北京海淀网站建设
  • 在贵州省住房和城乡建设厅网站查询如何用自家电脑做网站服务器
  • 中元建设集团股份有限公司网站建设企业管理类网站
  • 眼镜 商城 网站建设网站模板被抄袭怎么办
  • 个人怎么做ipv6的网站竞价推广营销
  • 干网站建设销售怎么样网页软件开发
  • 林业门户网站建设高校建设主流的校园网站
  • 域名注册好后怎么建设网站徐州数据网站建设介绍
  • 做动态文字的网站建筑在线
  • 做暧昧免费视频大全网站wordpress双栏极简
  • 做暧暧网站免费网站建设信用卡分期手续费
  • 东莞网站忧化用什么工具做网站视图
  • 做优惠券网站需要淘宝哪些接口高端食品品牌排行榜前十名
  • 巩义公司做网站科技的意义和价值
  • go做网站现在推广用什么平台
  • 建站seo推广网站建设深圳公司
  • 网站视频不能下载怎么保存视频义乌1688网站网页设计
  • 网站建设所需要的技术小程序模板套用教程
  • 贵阳网站制作 建设青海网站开发
  • 淄博企业做网站男女做羞羞事动画网站免费
  • 怎么才能建立自己的网站啊wordpress锚点插件
  • 汽车零部件公司网站建设方案学网站开发哪个好
  • 网站做最优是什么意思义乌制作网站公司
  • 网站是先解析后备案赣州市人才网
  • 周村区建设网站网站建设顾问站建
  • 模板手机网站建设wordpress edd 会员
  • 平谷建站推广网站名是域名吗
  • 用vs2010做网站并连数据库电商网站创建的几个阶段
  • 余姚市城乡建设局网站WordPress 种子搜索