Node.js 上传到应用程序时,压缩和减小图像大小的最佳方法是什么?

Node.js 上传到应用程序时,压缩和减小图像大小的最佳方法是什么?,node.js,reactjs,mongodb,express,redux,Node.js,Reactjs,Mongodb,Express,Redux,我正在开发一个MERN stack应用程序,能够在前端使用dropzone和redux表单处理图像上传,在后端使用multer,现在我想在图像超过最大大小4 MB时减少图像大小而不降低质量,如何测试其是否工作。最有效的工具是什么 我尝试了react图像文件大小调整器,但没有成功 fileChangedHandler(event) { var fileInput = false if (event.target.files[0]) { fileInput = true

我正在开发一个MERN stack应用程序,能够在前端使用dropzone和redux表单处理图像上传,在后端使用multer,现在我想在图像超过最大大小4 MB时减少图像大小而不降低质量,如何测试其是否工作。最有效的工具是什么

我尝试了react图像文件大小调整器,但没有成功

fileChangedHandler(event) {
    var fileInput = false
    if (event.target.files[0]) {
      fileInput = true
    }
    if (fileInput) {
      Resizer.imageFileResizer(
        event.target.files[0],
        100,
        100,
        'JPEG',
        100,
        0,
        uri => {
          console.log(uri)
        },
        'base64'
      );
    }
  }
在dropzone标记(onChange=fileChangeHandler)和调用dropzone的redux字段组件内使用此fileChangeHandler方法


我没有注意到变化。

你说的“缩小尺寸而不降低质量”是什么意思?如果你的意思是“在不影响质量的情况下减少文件大小”,那么你就要自己动手了:尝试各种图像格式(png、jpg、webp等)及其设置,找出人们上传的图像类型的总体大小平均减少多少。有太多的细节涉及到哪种方法最有效,请任何人建议在没有实际图像目录的情况下(不是“一张图像”、“许多图像”)该怎么做对于JPEG和PNG来说没有意义,这些格式在创建文件时已经应用压缩。进一步拉链或涂焦油不会明显缩小尺寸。可能不值得在这上面花费计算时间。TIFF可能是另一种情况,但即使是这种格式也允许压缩。如果文件大小有硬约束,则需要考虑降低图像分辨率(缩小)或其他有损操作(例如降低颜色深度)@timotgl我有14MB大小的JPEG文件,我认为上传很多文件会使应用程序瘫痪,这就是为什么我想问,将文件大小缩小到4MB左右的最佳方式是什么less@MohamedAljane尽量缩小规模。也许拒绝上传超过一定大小的文件,这样用户就不会上传过大的文件。你说的“减少大小而不降低质量”是什么意思?如果你的意思是“在不影响质量的情况下减少文件大小”,那么你就要自己动手了:尝试各种图像格式(png、jpg、webp等)及其设置,找出人们上传的图像类型的总体大小平均减少多少。有太多的细节涉及到哪种方法最有效,请任何人建议在没有实际图像目录的情况下(不是“一张图像”、“许多图像”)该怎么做对于JPEG和PNG来说没有意义,这些格式在创建文件时已经应用压缩。进一步拉链或涂焦油不会明显缩小尺寸。可能不值得在这上面花费计算时间。TIFF可能是另一种情况,但即使是这种格式也允许压缩。如果文件大小有硬约束,则需要考虑降低图像分辨率(缩小)或其他有损操作(例如降低颜色深度)@timotgl我有14MB大小的JPEG文件,我认为上传很多文件会使应用程序瘫痪,这就是为什么我想问,将文件大小缩小到4MB左右的最佳方式是什么less@MohamedAljane尽量缩小规模。可能会拒绝一定大小的上传,这样用户就不会上传过大的文件。