我有一个带有 base64 url 作为 src 的图像。我想使用输入文件(带有表单)将此图像发送到服务器。所以,我需要将 img 标签转换为输入文件。
我正在使用插件 Croppie 来裁剪图像。然后,将结果写入 img 标签。
我试图将 img 标签转换为文件。但后来我不知道如何将文件转换为输入文件。
<div>
<label for="img">Image</label><input type="file" name="img" id="img" value=""/>
</div>
<div>
<img id="outImg" />
<input type="file" name="imgtbn" id="imgtbn" value=""/>
</div>
document.getElementById('img').onchange = function (evt) {
var output = document.getElementById('outImg');
output.src = URL.createObjectURL(evt.target.files[0]);
if(this.c!=undefined)
{
this.c.destroy();
}
var el = document.getElementById('outImg');
this.c = new Croppie(el, {
viewport: { width: 300, height: 300 },
boundary: { width: 900, height: 300 },
showZoomer: false,
enableOrientation: true,
update: function (data) {
this.result('base64').then(function(dataImg) {
$('#imgCropped').attr('src', dataImg);
img = document.getElementById('imgCropped');
fetch(img.src)
.then(res => res.blob())
.then(blob => {
file = new File([blob], 'file', blob)
document.getElementById('imgtbn').file = file;
});
})
}
});
};
我想要一个用裁剪后的图像填充的输入文件。
感谢您的时间。