【发布时间】:2015-06-29 19:40:36
【问题描述】:
上传图片有一点问题。 有时,有人以错误的方向上传照片。 我想做的是在将图像发送到我的服务器之前旋转图像。 这可能吗?
我知道我可以使用 php 中的函数imagerotate(),但我可以在图片上传后使用它。
有没有办法通过javascript(或jquery)来旋转图像,然后通过php将信息传递给服务器?
现在我做了这样的事情:
HTML
<form method="POST" enctype="multipart/form-data">
<input type="file" id="file" name="file">
<div id="preview"></div>
<br>
<a href="#" id="counter" class="row"><- counter</a>
<select id="degree">
<option>90</option>
</select>
<a href="#" id="clockwise" class="row">clockwise -></a>
<hr>
<button type="submit">save image</button>
</form>
jQuery
$(document).ready(function() {
$('.row').click(function(){
var a = $('img').getRotateAngle();
var d = Math.abs($('#degree').val());
if($(this).attr('id') == 'counter'){
//d = -Math.abs(+a - +d);
d = a - d;
}
else{d = +a + +d;}
$('img').rotate({animateTo:d});
});
/* image preview */
$('#file').change(function(){
var oFReader = new FileReader();
oFReader.readAsDataURL(this.files[0]);
console.log(this.files[0]);
oFReader.onload = function (oFREvent) {
$('#preview').html('<img src="'+oFREvent.target.result+'">');
};
});
});
但我认为我无法将“旋转”传输到上传文件....
非常感谢!
【问题讨论】:
-
JavaScript 旋转改变视图而不是真实图像。
-
你需要在画布上绘制图像,旋转画布,然后从画布中读取数据得到旋转后的图像
-
你能给我看一个简单的例子吗?谢谢!除了画布没有其他方法吗?因为旧版浏览器不支持 html 5
-
这应该可以满足您的需求:stackoverflow.com/questions/38734035/…
标签: javascript php jquery image upload