• 回答数

    5

  • 浏览数

    309

初心&依恋
首页 > 论文问答 > 投稿图片太大怎么办

5个回答 默认排序
  • 默认排序
  • 按时间排序

夏香林萌

已采纳
很多时候我们都会碰到小程序上传图片时因为图片过大而导致请求失败,同时出现各种各样的问题,那么今天来给大家写一个微信小程序上传图片过大导致请求失败的完美解决办法。以云开发小程序图片检测为例,如果图片过大就会出现以下报错:<'errCode': -404012, 'errMsg': 'allFunction:fail error while waiting for the result; at allFunction api;>图片过大,所以应该压缩图片官方给出了一个 pressImage接口用于压缩图片,该接口在开发工具和ios系统都表现良好,但是却在安卓机上几乎没有一点效果,所以这个方案被迫放弃了。于是在网上看到了另一种压缩思路,通过canvas绘制压缩图片,canvas在一般小程序中通常用于海报的生成,我们就是通过这种方式生成一张比原图要小的图片,这样就可以起到压缩效果了。创建一个canvas标签这个需要在wxml中创建,不然没有画布,就没办法进行绘图了,代码如下:因为该canvas并不需要显示在页面上,所以我们把他写在了页面之外,其中cWidth和cHeight分别是画布的宽和高,因为图片的比例不一,所以这里采用动态数据,这样可以保证图片的等比例缩放。编写压缩图片函数下面的函数是在网上看到的一个版本,觉得挺好的,就直接放出来给大家学习一下,也可以直接调用。compressImg: function(e) {var that = this;log(e)ImageInfo({src: e,success: function(res) {//---------利用canvas压缩图片--------------var ratio = 2;var canvasWidth = width //图片原始长宽var canvasHeight = heightwhile (canvasWidth > 200 || canvasHeight > 200) { // 保证宽高在200以内canvasWidth = Munc(width / ratio)canvasHeight = Munc(height / ratio)ratio++;}setData({cWidth: canvasWidth,cHeight: canvasHeight})var ctx = ateCanvasContext('canvas')drawImage(path, 0, 0, canvasWidth, canvasHeight)draw(false, setTimeout(function() {anvasToTempFilePath({canvasId: 'canvas',destWidth: canvasWidth,destHeight: canvasHeight,quality: 3, // 压缩倍率success: function(res) {log(pFilePath) //压缩过后的最终图片路径},fail: function(res) {log(Msg)}})}, 100))},fail: function(res) {log(Msg)}})},通过该函数压缩后,图片大小将大大减小,还可以通过控制canvasWidth来改变压缩的比例,就是代码块中的200,还想更小就把200减小,大点,就增大。通过这样的方式可以把原本几M的文件,压缩到小于100K,这样在请求上传中,都不会在出现微信小程序上传图片过大导致请求失败的现象了。
335 评论

张小电1301

330 评论

美酱老师

有文字的话,文字转曲,有图片的话,图片置入,等于是文件里链接了图片,文件本身占用就会少一点。

316 评论

可爱小伶伶

打一个图片修改软件,把图片尺寸修改一下就解决问题了,比如ACD就可以做到这点。

260 评论

天才少女JESSICA

可以先用matlab生成的图片,然后把生成的图片复制到visio,最后再复制到word,这样保存下来的图片,很清楚,也不大。

240 评论

相关问答

  • 图片太大怎么编辑

    用photoshop打开,图像-图像大小-把分辨率改小-确定-保存-ok

    zzyunicorn 6人参与回答 2023-12-08
  • cdr排版图片文件太大怎么办

    方法一:将文件内的图片压缩,转换成位图,点阵时的像素不能太大,适当就可以了,一般在150左右就行,封面等需要高清晰的最多不要超过350。图片太大,文件也会很大。

    木图先生 2人参与回答 2023-12-09
  • 投稿word文件太大了怎么办

    添加附件```再发送给对方就行了```

    别针换别墅嘞 3人参与回答 2023-12-11
  • 论文图太大一页放不下怎么办

    通过截图弄上去

    YangBin啊啊 3人参与回答 2023-12-09
  • 投稿图片太大怎么办

    很多时候我们都会碰到小程序上传图片时因为图片过大而导致请求失败,同时出现各种各样的问题,那么今天来给大家写一个微信小程序上传图片过大导致请求失败的完美解决办法。

    初心&依恋 4人参与回答 2023-12-07