是否可以在javascript中更改用户上传的图像,并将更改后的文件作为文件发布到服务器而不是base64表示?
我一直在使用一个base64编码图像的库,允许裁剪和旋转等。然后它将base64字符串发布到服务器,当您有多个大文件时,这会在浏览器中引起很多麻烦。
编辑: 根据请求添加一些示例代码。只是我尝试过的当前改动。
.submit(function(e) {
e.preventDefault();
window.fd = new FormData(e.target);
var imgs = (window.fd.getAll('icon[]') || []).map(function(str) {
return JSON.parse(str);
});
fd.delete('icon[]');
var promises = imgs.map(function(img) {
return fetch(img.output.image)
.then(function(res) { return res.blob() })
.then(function(blob) {
window.fd.append('icon[]', blob, 'filename')
});
});
$.when(promises).then(function() {
console.log('sending?');
var oReq = new XMLHttpRequest();
oReq.open("POST", $('#ignite-campfire').attr('action'), true);
oReq.onload = function(oEvent) {
console.log('tester', fd.getAll('icon[]'));
};
oReq.send(window.fd);
});