如何使用javascript或reactjs压缩存储在浏览器中的BLOB图像并上传到服务器

如何使用javascript或reactjs压缩存储在浏览器中的BLOB图像并上传到服务器,javascript,reactjs,image-compression,Javascript,Reactjs,Image Compression,我完成的任务 使用文件输入选择图像 使用url:url.createObjectURL(文件[0])创建对象url。e、 g url=blob: 使用 现在我想做的是 从中读取和压缩图像 url=blob: 将压缩图像上载到服务器 这个项目正在进行中。你的建议对我有帮助 使用FileReader将blob读取为ArrayBuffer,然后在画布上绘制它,然后压缩它并拉出压缩的blob Blob可以像正文中的任何其他数据一样发送到服务器,不需要任何特殊要求 使用FileReader将blob读取

我完成的任务

  • 使用文件输入选择图像

  • 使用
    url:url.createObjectURL(文件[0])
    创建对象url。e、 g url=blob:

  • 使用

  • 现在我想做的是

  • 从中读取和压缩图像 url=blob:

  • 将压缩图像上载到服务器

  • 这个项目正在进行中。你的建议对我有帮助

  • 使用FileReader将blob读取为ArrayBuffer,然后在画布上绘制它,然后压缩它并拉出压缩的blob
  • Blob可以像正文中的任何其他数据一样发送到服务器,不需要任何特殊要求
  • 使用FileReader将blob读取为ArrayBuffer,然后在画布上绘制它,然后压缩它并拉出压缩的blob
  • Blob可以像正文中的任何其他数据一样发送到服务器,不需要任何特殊要求

  • Base64中的Conver图像谢谢@SaqibAhmed。首先,我不知道如何转换?。在那之后,如何对其应用压缩?Base64中的Conver图像谢谢@SaqibAhmed。首先,我不知道如何转换?。在那之后,如何对其应用压缩?没有画布还有其他可能的方法吗?。因为我有更多的文件,所以在你的代码中有更多的BLOB URL。缺少几个变量。类似于var fileinput=document.getElementById('fileinput');var max_width=fileinput.getAttribute('data-maxwidth');var max_height=fileinput.getAttribute('data-maxheight');。和你的解决方案一样。你可以在这里找到更多。没有画布还有什么其他的可能吗?。因为我有更多的文件,所以在你的代码中有更多的BLOB URL。缺少几个变量。类似于var fileinput=document.getElementById('fileinput');var max_width=fileinput.getAttribute('data-maxwidth');var max_height=fileinput.getAttribute('data-maxheight');。和你的解决方案一样。你可以在这里找到更多。