问题描述
我使用以下代码在客户端上调整图像的大小,并且效果很好。现在,如何仅通过提交表单而不使用AJAX将调整大小的图像(srcEncode)上传到服务器?
javascript:
function resizeImage() {
var resize_width = 200;
var item = document.querySelector("#file").files[0];
if (item === undefined) {
return;
}
var reader = new FileReader();
reader.readAsDataURL(item);
reader.name = item.name;
reader.size = item.size;
reader.onload = function(event) {
var img = new Image();
img.src = event.target.result;
img.name = event.target.name;
img.size = event.target.size;
img.onload = function(el) {
var elem = document.createElement('canvas');
var scaleFactor = resize_width / el.target.width;
elem.width = resize_width;
elem.height = el.target.height * scaleFactor;
var ctx = elem.getContext('2d');
ctx.drawImage(el.target,elem.width,elem.height);
var srcEncoded = ctx.canvas.toDataURL(el.target,'image/jpeg',0);
document.querySelector("#img").src = srcEncoded;
// I want to send srcEncoded to the PHP server,so that,I can get
// the image on the server using the following PHP code:
// $image = $_FILES["my_image"]["tmp_name"];
// NOTE: I do not want to use AJAX
return srcEncoded;
};
};
}
HTML:
<form id="form">
<input id="file" type="file" name="my_image" accept="image/*">
<button type="submit">Submit</button>
<img id="img" src="" alt="image">
</form>
PHP:
$image = $_FILES["my_image"]["tmp_name"];
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)