当前位置:   article > 正文

微信小程序对上传的图片进行裁剪,让图片截取某个部分_微信小程序裁剪图片

微信小程序裁剪图片
  1. 背景:在进行人脸采集,需要上传图片,后端需要的格式是图片大小200kb,这个时候就需要我们上传图片之后进行裁剪。

  2. 实现思路

    A   uni.chooseMedia打开相册获取图片路径(uni.chooseImage(OBJECT) | uni-app官网 (dcloud.net.cn))

    B  将获取到的图片路径传入wx.cropImage对图片进行裁剪(wx.cropImage(Object object) | 微信开放文档 (qq.com))

    C 将裁减后的图片路径通过uni.uploadFile上传到服务器生成网络地址(uni.uploadFile(OBJECT) | uni-app官网 (dcloud.net.cn))

  3. 出现图片裁剪

  4. 代码如下:
     

    1. wx.chooseMedia({
    2. count: 1, // 默认9
    3. sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
    4. sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
    5. success: function (res) {
    6. wx.cropImage({
    7. src: res.tempFiles[0].tempFilePath, // 图片路径
    8. cropScale: '1:1', // 裁剪比例
    9. success: function (res) {
    10. console.log(res, '我来了')
    11. if (!/(\.jpg|\.png|\.jpeg)$/.test(res.tempFilePath.toLowerCase())) {
    12. wx.showToast({
    13. title: '请上传jpg、png或jpeg格式的照片',
    14. icon: 'none',
    15. duration: 2000
    16. });
    17. return;
    18. }
    19. var tempFilePaths = res.tempFilePath;
    20. // 压缩图片
    21. wx.compressImage({
    22. src: tempFilePaths,
    23. quality: 80, // 压缩质量 0-100
    24. success: function (compressedRes) {
    25. var compressedFilePath = compressedRes.tempFilePath;
    26. // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
    27. wx.showLoading()
    28. wx.uploadFile({
    29. url: app.globalData.url +
    30. '/content/interface_faceAcquisition_upload.shtml',
    31. filePath: compressedFilePath,
    32. header: {
    33. "Content-Type": "multipart/form-data",
    34. },
    35. name: 'imgFile',
    36. formData: {
    37. 'ownerId': self.data.id
    38. },
    39. success: function (res) {
    40. console.log('上传', res)
    41. wx.hideLoading()
    42. if (res.statusCode == 200) {
    43. var result = JSON.parse(res.data);
    44. if (result.code == 200) {
    45. wx.navigateTo({
    46. url: '../successResults/successResults?img=' +
    47. compressedFilePath
    48. })
    49. } else {
    50. wx.showToast({
    51. title: result.message,
    52. icon: 'none'
    53. })
    54. }
    55. } else {
    56. wx.showToast({
    57. title: '上传出错',
    58. icon: 'none'
    59. })
    60. }
    61. //do something
    62. },
    63. fail(res) {
    64. wx.hideLoading()
    65. }
    66. })
    67. },
    68. fail(compressError) {
    69. console.log('压缩错误', compressError)
    70. }
    71. })
    72. }
    73. })
    74. }
    75. })

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/565167
推荐阅读
相关标签
  

闽ICP备14008679号