压缩数据后,如何用Javascript替换图像formdata?

压缩数据后,如何用Javascript替换图像formdata?,javascript,form-data,image-compression,data-uri,Javascript,Form Data,Image Compression,Data Uri,有各种图像压缩库,可以简单地读取附加到表单的文件,但我缺乏将新压缩图像“返回”到该的技能,因此它附加到表单/应用程序并可以处理 无论我尝试使用什么库,通常在控制台中都可以看到旧的/新的大小值,并按表单上的“提交”将图像发送到服务器,始终发送原始图像,而不是新的压缩图像 如何将用户为选择的图像替换为使用Javascript创建的新DataURL?我想我只需要一两行代码来替换值/数据,但是哪个呢 提供代码有点困难,因为我还没有设置特定的压缩库。让我们假设我们有一个带有的表单,一个OnChange事件

有各种图像压缩库,可以简单地读取附加到表单
的文件,但我缺乏将新压缩图像“返回”到该
的技能,因此它附加到表单/应用程序并可以处理

无论我尝试使用什么库,通常在控制台中都可以看到旧的/新的大小值,并按表单上的“提交”将图像发送到服务器,始终发送原始图像,而不是新的压缩图像

如何将用户为
选择的图像替换为使用Javascript创建的新DataURL?我想我只需要一两行代码来替换值/数据,但是哪个呢


提供代码有点困难,因为我还没有设置特定的压缩库。让我们假设我们有一个带有
的表单,一个OnChange事件处理程序和一个读取数据并返回新数据URL的函数。

据我所知,由于安全原因,浏览器不允许您修改
文件列表

无论如何,您可以通过在表单中附加一个隐藏字段并将数据URI设置为隐藏字段的Base64值来解决任务。在表单提交中,清除原始文件字段(如果不需要),而在服务器端,必须解码隐藏字段的Base64值


如果ajax请求适合您,另一个选项是使用
FormData
XMLHttpRequest
(查看一些好的示例)。

据我所知,由于安全原因,浏览器不允许您修改
文件列表

无论如何,您可以通过在表单中附加一个隐藏字段并将数据URI设置为隐藏字段的Base64值来解决任务。在表单提交中,清除原始文件字段(如果不需要),而在服务器端,必须解码隐藏字段的Base64值

如果ajax请求适合您,另一个选项是使用
FormData
XMLHttpRequest
(查看一些好的示例)