微信小程序实现图片上.net

微信小程序实现图片上.net,第1张

前端代码:

/上传到服务器  wxuploadFile

url:后台上传文件路径地址

data:自定义参数 {'userID':'0001'}

fileName:接收数据的参数名称,后台参数类型:SystemWeb>

后台实现

/// <summary>

/// 上传        /// </summary>

/// <param name="file"></param>

/// <param name="userID"></param>

/// <returns></returns>

public string UploadImage(>

file参数里面就是数据流的信息,可自行获取之后进行保存。

项目中用canvas生成时都为空白,原因为 wxcanvasToTempFilePath必须写在wxdraw()的回调中才能实现。

官方wxcanvasToTempFilePath说明: >

taro单独为某个项目切换taro版本环境

单独为某一个项目升级#这样做的好处是全局的 Taro 版本还是 1x 的,多个项目间的依赖不冲突,其余项目依然可以用旧版本开发。 如果你的项目里没有安装 Taro CLI,你需要先装一个:

# 如果你使用 NPM

$ npm install --save-dev @tarojs/cli@2x

# 如果你使用 Yarn

$ yarn add -D @tarojs/cli@2x

echarts在小程序中滑动卡顿

由于微信小程序中,echarts的层级最高,无论设置多大层级也无法遮住echarts。而且小程序中好像只能用echarts吧。所以为了解决这个bug,我只能委屈求全了。打开ec-canvaswxml文件,将touchStart、touchMove和touchEnd去掉了,直接删除就好啦。这三个事件应该是做缩放的吧,我们也没有这个缩放的需求。所以就去掉了。虽然暂时满足的需求,还是没有真正的解决问题。

原:

bindinit="init"

bindtouchstart="{{ ecdisableTouch '' : 'touchStart' }}"

bindtouchmove="{{ ecdisableTouch '' : 'touchMove' }}"

bindtouchend="{{ ecdisableTouch '' : 'touchEnd' }}"

现:

bindinit="init"

echarts在小程序中无法跟随页面滑动

在卡顿问题中能与echarts交互少的,可以直接使用代替cannvas,即在echarts渲染完毕后将它替换为一张。

如果我更新了数据,那么就重新放出echarts,等它渲染完毕后,再次替换为一张。

charton('finished', () => {

getCurrentInstance()pageselectComponent(id)canvasToTempFilePath({

success: res => {

consolelog('restempFilePath====',restempFilePath)

thissetState({

echartImgSrc: restempFilePath

      })

},

    fail: res =>consolelog('转换失败', res)

});

})

render:

thisstateechartImgSrc ==''

  ref={thisrefChart}

id={thisstateid}

canvas-id="mychart-area"

  force-use-old-canvas="true"

  ec={thisstateec}

/>

:

<CoverImage src={thisstateechartImgSrc}></CoverImage>

在做微信小程序的时候需要将保存到相册,但是用微信提供的api wxsaveImageToPhotosAlbum 保存更本没有效果,网络和本地都试过了。下面是我的代码:

代码一:

wxgetImageInfo({ src: '/images/shareimgjpg',

success: function (res) {

consolelog(respath)

wxgetSetting({

success(res) {

if (!resauthSetting['scopewritePhotosAlbum']) {

wxauthorize({

scope: 'scopewritePhotosAlbum',

success() {

wxsaveImageToPhotosAlbum({

filePath: respath,

success(result) {

consolelog(result)

}

})

}

})

}

}

})

}

})

代码二:

wxdownloadFile({ url: '>

微信小程序压缩有三种方法,一种是使用官方提供的接口 wxcompressImage(Object object) ;一种是通过压缩的大小,利用canvas重绘来得到压缩;最后一种安装第三方压缩包。

由于第一种方法网上很多人说压缩不明显或者失效,所以选择使用canvas重绘来实现压缩。同时,该种方法可以控制的最大尺寸,保持上传大小尺寸相差不多。在我们的学生节晚会小程序中,屏幕显示会比较美观一致。

1 通过 wxchooseImage 接口选择相机

2 通过 wxgetImageInfo 接口获取信息(长宽,类型)

3 计算压缩比例和最终的长宽

5 通过 wxcanvasToTempFilePath 接口将画布内容导出为并获取路径

wxml 文件

在文件末尾插入 canvas 组件,通过设置left和top值确保不会显示在可视范围内。

一定要设置 canvas-id,这是canvas绘图和导出必备的属性。

js 文件

设置与页面绑定的数据:canvas的大小,也是压缩后的大小

1 将画布内容导出为时,指定destWidth和destHeight为压缩后的大小。这里遇到过玄学bug,不指定的话,有时候不会压缩到规定的大小。

以上就是关于微信小程序实现图片上.net全部的内容,包括:微信小程序实现图片上.net、微信小程序canvas生成图片为空白问题、微信小程序开发中遇到的坑及解决办法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9797651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存